如何提升你的开发技能(斯科特·汉塞尔曼主讲)
让我们以社群的名义聆听这场演讲,并从我们行业和经验的角度展开建设性的讨论。欢迎在评论区分享您的重要收获、提出问题(开发者社群的成员或许能够帮忙解答),或者指出我们可能与演讲者观点相左的地方。
关于我们的演讲者
斯科特·汉塞尔曼从上世纪80年代就开始编程。他写博客,主持多个播客节目,是微软的布道者,也是一位健康黑客,精通推特,并在世界各地演讲。我在2017年的Codeland大会上认识了他。我们聊了很久,话题涵盖了生物黑客技术治疗糖尿病、非裔美国人的头发护理、社会正义、语言,以及“出卖灵魂”和“自我提升”之间的区别。
他正是我长大后想成为的那种技术专家:风趣幽默、坦率真诚、充满活力、才华横溢、身兼多职,而且和他在一起总是充满乐趣。认识他之后,我和我的朋友Chanice都暗暗地把他奉为“代码教父”,开始认真研读他的博客文章、演讲和播客,从中汲取灵感,学习如何提升自己的开发能力。这次演讲彻底改变了我对开发的看法,绝对值得反复聆听。
演讲概要:
在这次演讲中,Scott 探讨了恐惧和分心如何阻碍我们发挥自身潜力。我们害怕因为不够优秀、无法快速交付可用于生产环境的代码、不够聪明、无法掌握所有最新动态、无法精通所有领域而显得“虚伪”,这种恐惧加诸于我们自身,导致我们分散了注意力和精力(而这两者都是有限的)。我们往往试图通过希望在下班后赶上进度来克服这些恐惧,但希望并非良策。为了提升自身作为开发者的能力,我们需要区分有效性(做正确的事)和效率(正确地做事)。他举例说,前者是选择正确的方向,后者是朝着这个方向尽可能快地奔跑。
我学到了什么:
要想成为更高效的开发者,首先要学会选择不把时间浪费在哪些事情上,因为你做的事情越少,就能把更多精力放在真正重要的事情上。早上或周末查看邮件会降低你的效率(回复邮件会引发回复),你不应该把精力浪费在你不想做的事情上,因为这些行为会潜移默化地影响别人对待你的方式。你需要根据工作的三个方面(计划内的工作、当天意外出现的工作以及体现你开发者身份的工作)对收到的信息或请求进行优先级排序,然后设定时间限制,处理完毕后再继续进行下一步。
归根结底,自我优化的关键在于进入心流状态,只让自己专注于对你而言最有意义(重要但不紧急)的事情。任何导致你注意力分散的干扰都会耗费你大量的时间和精力。而有趣的是,很多时候,重要的信息或任务会在你专注做这些事情的过程中悄然出现,有时,暂时放下某些事情反而是正确的选择。
令我印象最深刻的几个概念:
1)我们手中的键盘数量有限,所以不应该浪费。
每当有人私下向我们提供专业意见或指导,而书面表达需要超过一段文字时,我们应该将其记录下来,以便与多人轻松分享,并向他们发送维基、博客文章或论文的链接。有人说,你应该写作、参与社交媒体互动,并就你希望获得报酬的领域发表演讲。我认为这是对我们时间和精力的绝佳优化,它鼓励我们撰写上述领域的内容,这些内容可以被多次引用,有助于树立我们在该领域的专业知识形象,并且如果我们对某个领域感到困惑,还能从社区中获得学习机会。
2)文中提到了很多很棒的方法,有些我以前试过,但很多我以前想都没想过。
我听说过番茄工作法,也试过,但从未尝试过在专注工作期间追踪我的内外干扰。过去两天我一直在尝试这种方法,效果真的非常显著。
我以前也从未想过要“宣告电子邮件破产”。我把所有超过一周的邮件都移到一个名为“非我的收件箱”的文件夹里(因为你的收件箱应该只用来存放你尚未处理的最新信息/邮件),以此来摆脱无休止的“待处理”环境带来的心理压力。
3)运用“三法则”完成任务,为自己制定个人冲刺计划。
斯科特建议,面对一长串令人沮丧的待办事项清单会阻碍成长。相反,我们应该为自己制定一个提升计划。今天只选择三件事完成,然后逐步积累,最终形成本周的三项更大目标,再到本月和年度的三个总体目标。他邀请我们设想一下,要怎样才能让我们在一天、一周、一个月甚至一年内不再感到内疚或虚伪?并以此为目标,将其分解成可执行的小步骤。试着在周一设想一下,理想的一周应该是什么样子,然后在周五反思一下这一周的进展情况以及需要改进的地方。
我以前也用过每天设定三个目标的系统来集中精力(专注于两个紧急目标和一个对大局重要的目标),但从来没有像这样的方法。
最后想说的是:
我非常兴奋,迫不及待地想把这次演讲中分享的宝贵经验运用到我的日常生活中。希望你们也喜欢这次演讲,并且从中有所收获!