原文:Focus and Deep Work — Your Secret Weapons to Becoming a 10X Developer,作者:Bar Franek

换句话说,就是怎样才能成为互联网大厂程序员中的一员?

不管你是一个正在忙着工作的职员,还是一个想要得到他人关注和技能提升的初级程序员;不管你是一个正打算变换路线,从公司离职去创业或者从事其他事情的领导者,还是一个刚毕业的没工作的大学生。这都没关系!

只要你是一个程序员,没有什么技能比专注和钻研对你的成功更重要。

作者Cal Newport 的 《 Deep Work 》中写到:

“The Deep Work 假设:拥有深度工作的能力正变得越来越罕见,同时,它对我们的经济生活也越来越重要......少部分拥有这种技能的人,在工作和生活中使用它,将会受益无穷。”

— Deep Work p.14

如何变成一个被市场需要的开发者,我将使用一些《Deep Work》的观点并结合我自己的思想。如果你是一个在任何技术领域的人,我强烈建议您阅读它。

从恐惧代码到技术负责人

编程,我是自学成才。但是,我是20岁才开始编程的。我一直觉得自己是一个最终能进入创造性领域的艺术家。

我做到了。大学毕业后,我创办了一家为小型本地企业提供图像和网页设计的公司。我是 Photoshop 的专家,并且觉得 HTML 和 CSS 是很难的。

更恼火的是,只要写一行 PHP(一种程序语言) ,我就得外包出去。

我被代码吓到了很长一段时间,在那期间,我都不碰它,都把相应的工作交给有计算机科学学位的人。

“敲错一个代码,客户的业务将会不能运行...”,我觉得。老实说,我不太靠谱(在没有版本控制之前,FTP都不能回退代码的)。

现在我是一家财富50强公司的技术负责人,所开发的是一个每月有数百万用户的产品。

我是怎样在短短几年内做到现在这样呢?🤔

我的“秘诀”就是专注和深入工作。没什么特别的。我花时间锻炼自己怎样长时间专注于一件特定的事情,不分心。

代码是一种艺术

编程是一个创造性的追求。

对普通人来说,它是技术并且枯燥无味,但你是一个创造者。你正在创造世界上没有的东西。所谓“没有”,就是你脑海中对于应用程序的一个想法,又或者是产品经理的功能需求。

它不存在,但你要创造它。不是用绘画也不是用文字,而是用代码(好吧,有文字,只要不是保留字)。

如果你有一些想法,但要高水准的实现,那么,你就必须练习。

当你能更好的专注于某件事很长一段时间,输出的数量和质量都会提升。

艺术,音乐和写作都需要很长一段连续的时间。科普一下,在此期间,脑细胞之间的突触上的髓鞘变稠。编程也不例外。

你会在练习和掌控时间上越来越好。当你的练习越有效时,你可以在更短的时间内,获得更好的成绩。

是的。你能成为那个10倍高效的开发者(5倍,2倍还有1倍,也很棒)。我说明一下,我讨厌这种流行语 “摇滚明星”、“忍者”、“10倍开发者”。每一个开发人员都是的,但是公司和招聘人员很喜欢这样称呼。

尽管俗气,但是在 “10倍开发者” 理念背后还是有很多真理的。

它不是说一个人可以代替十个人,而是说一些开发者能在更少的时间更高质量的完成更多的事情。他们一直做到了这一点,并不是比别人更努力。

这种能力不是与生俱来。也不是你可以 “打开” 的东西。它是你可以而且必须练习和训练的技能。

我在招聘方面工作了几十次,我会告诉你公司都想拥有一个由10倍开发者组成的团队。但是,那是不现实的。

开发职位空缺多于合格的开发人员。公司连一般的合格的开发者都很难找到,更别说找(多少)倍开发者了。

“高级管理人员认为,缺乏优秀的开发人才是他们成长的最大潜在危险之一。” ——The Developer Coefficient

找到优秀的人才真的很

大多数公司会招聘10倍开发者,但是他们也很乐意招聘5x、2x,甚至1x的开发者。

1x开发者(对,我就是)是可以完成工作的,不多不少。而且,还有大量关于天文成本的不良雇佣关系的报道。

将编程技能与专注深入工作相结合所需的2个步骤

是时候提升你的职业生涯了。你有大量的机会可以获得喜欢的工作并且得到很好的发展。

如果你正处在创业阶段,提供的也是相同的课程。因为对你们来说,更重要的是时间的有效利用。

它可以帮助您:从初级开发者到高级开发工程师;从0.5x开发者到5x开发工程师;一周只有10个小时额外时间也能发展副业。

苦难,就是你生存的毕竟之路。

“想要经济自由,你就要掌握快速学习复杂事务的技巧。所以你需要深度工作。如果你不具备这项技能,那你很可能会随着技术的前进而落后。”
— Deep Work p.13

学习专注于事物是艰巨的。

首先要意识到的是,学习专注不是一件容易的事情。你不能一开始就写出高质量代码的项目。特别是如果你从来没处理过在容易分心的事情上不分心。

学习专注需要练习。需要练习的任何事情都意味着困难。如果不是,那你可能是天生就擅长它。

你开始挣扎,不要紧张,我们将会从小事情开始。

不要将忙碌与生产力混淆

深度工作不是将你自己锁在小黑屋里,强制自己一次漫无目的的浏览代码长达14小时。仅仅因为你正在做这件事,但并不意味着它就值得做。

你需要弄清楚哪些事情是重要的,哪些是不重要的。这超出了本文的范畴。如果你打算花时间学习如何专注于事物,那你就要做一些付出努力容易有高回报的事情。

它就像太阳和放大镜。

分心的工作就像太阳一样,能量分散到各个方向。所以你站在太阳下并不会受伤。

学会用放大镜集中那些分散的能量,毁坏力量就从0升到10。我们想把有限的力量留给重要的事情(太阳最终会落山)。

第一步——消除干扰

同时处理多个任务是一个谎言。如果你认为,在你看各种消息或者阅读新闻时能写高质量的代码,你是在自欺欺人。

我们生活在一个注意力分散的世界。我们研究的技术是一把双刃剑。在收到一个新通知时,已经没有那种甜美的多巴胺了。

“帅,就像我看到 Hamiton。”,但是那对你专注的能力有害。

消除干扰是专注和深度工作的基础。

  • 将手机处于静音状态,或者你在一个不需要通话的地方可以关闭手机。我使用Forest APP(一款锻炼专注力的软件)阻止我玩手机。面朝下,可以放在触手可及的地方。

  • 关闭无关紧要的消息。这是一个巨大的挑战,因为我有强迫症,必须清除我手机上没有阅读的消息清单。这些消息大都有噪音,所以关闭它对于我工作来说的确是一件好事。

  • 关闭其他的应用程序,就是那些能通过通知来分散你注意力的APP,比如:Outlook、微信。

  • 这一项是最艰难的事情之一——关闭与你的任务无关的任何浏览器窗口。现在,做到不去浏览你热爱的网站。我喜欢HeyFocus应用程序(收费20美元),那里有很多免费的扩展程序。

  • 戴上耳机——这将有助于你不被旁人打扰,重复听着同一张专辑也是一个保持专注的有效途径。它可能是一个标志(通知你的大脑要开始工作了),或者是一件顺畅的事情(因为音乐能使你心情愉悦)。不管是哪一种,很多开发者都推荐这个。

第二步——番茄技术(秘密武器)

让你8小时内不能分心,你可能会觉得很难,不要担心。我们将会使用“番茄法”来应对每一天。

其实有很多方法,但是我们最推崇“番茄法”,下面我就会介绍它。

如果你想看官方文档,可以查阅《番茄技术》这本书,它讲的更详细更规范。

工作25分钟(一个番茄)

你将会工作25分钟,专心做一件事。 这段时间的工作就叫一个“番茄”。

使用计时器。我以前在学校用过一个旧的沙漏。如果你真的想爱上这个番茄工作法,那么就用上番茄计时器吧。

然后休息5分钟

休息时间一到,您必须走开。接一杯水喝;浏览黑客新闻;去洗手间。不管你做什么,反正工作已经结束了,完全跳出工作。

一个番茄里只能有一个任务

这个任务可以是修复一个bug,或者做一个新功能,又或者是看视频学习新框架。

如果任务太大(就像“开发一款app”),你必须把它分成更小的任务块,那种大约25分钟能完成的任务块。

一些任务需要好几个番茄才能完成。编写功能模块可能需要3个番茄,而编写测试可能也需要两个。

又或者一些任务太小,你要把他们批量计划到一个番茄中(例如:回复5张JIRA门票)。

重点是,一项或多项任务,它们必须是同一种“类型”的工作。

顺便说一下,其实我们拖延的主要原因是,任务太巨大且完成太艰难,所以我们被吓到了。如果你的目标是“写一本书”,你可能永远都不会做。当你把它分成小的任务块,就像“写大纲或者写300字”,路线就会非常清晰。迈开脚就更容易更可行。

尽管这篇文章是关于怎样成为一个更好的开发者,而不是拖延症,但是他们在大多数情况下可以算是同一件事。

工作不分心

参阅步骤1,如果你分心了,那么番茄就不算数了,你得重新开始。

最多工作25分钟

如果你从未使用过类似于番茄法这种方式,那么可能25分钟对你来说还是比较困难。那你就从10分钟开始,然后是15分钟,然后20、25。

当你真正掌握它时,你可以工作55分钟呢。

每天工作多个番茄

第一次尝试工作无干扰,你可能一天只能达到25分钟。没关系,争取每天多一点就好了。

这如何使我成为一个更好的开发者呢

我们现实点。如果你上班的时候,一会写代码,一会线上聊会天,一会发封邮件,再和同时聊会八卦,那么这将对你的工作和事业没有任何的帮助。

你只是看起来很忙,甚至还时不时的发布一些代码。

但是,事实上,比起专注力分散的一整天的工作,几个小时不分心的深度工作产出的质量和数量更高。

一开始是一个番茄。最后,你就会收获好几个番茄果实。

接着,你就会收获几天的番茄。

接着,收获几周、几月的番茄。

你会发现它越来越容易的变成一种流程(习惯),而且会更频繁的发生。

这是黄金。这就是你突破自我的时候。

这是让艰难的事情变得容易的时候。

这是你编程技能成倍增长的时候。

高质量程序员的市场需求比以往都大。通往成功最靠谱的途径就是深度专注的工作。