顶级程序员都爱睡午觉?

作者丨Rudy Rigot  salesforce的资深工程师,苹果公司前任合伙创始人,现担任holberton school和tech me abroad公司咨询师

编译丨Alina,本文首发于公众号“硅谷精英程序员”

最近,我一直觉得自己疯狂地处于自我矛盾之中。

每周总有那么几天,我都觉得今天一定会是我最高产的一天;然而,到最后我都会发现,在那一天,我的工作时间尤其短。

这一自我矛盾让我想到了科技行业的另一个悖论——软件公司总是既喜欢那些10x工程师,也喜欢那些有能力充分安排个人闲暇时间的员工——毕竟谁也不希望员工过劳暴毙而死。

编者注:10X工程师,即工作产量是普通工程师的十倍,处于行业顶尖的那些工程师

图0:顶级程序员都爱睡午觉?

这些矛盾让我疑惑不堪,导致我近来总是在思考这些悖论中的内在逻辑。慢慢地,我似乎得出了自己的结论,而且我相信,这些结论合理地解释了这些看似对立的观念。

我说它们“看似对立”,是因为我已经想通了,已经不再认为这些观点真的矛盾。如果要用一句话总结我得出的结论,那么就是:我们在讨论程序员的工作速度时,我们其实提到了两种概念的“速度”:

一方面,“速度”是指一个程序员以最少的工作时间输出最大化的工作成果。这种意义上的“速度”,我们通常会以编程输出的数据(例如提交量、代码行数等等)或是相关工作数据(例如文件页数、交付的数量等等)来检测。显然,一个程序员工作的时间越长、天数越多,那么他在算术层面上一定是在提升关键业绩指标的。

另一方面,“速度”是指以最短的时间,最少的工作量来创造最大的商业价值。要检测这一层面的“速度”,我们就要看股东(或者顾客、同事)能从一个程序员的工作中获取多少有利的,或是有用的价值。这一概念也很重要,毕竟我一再强调,程序员的工作目标并非单纯地解决技术性问题,还包括用技术性方案解决商业问题。

图1:顶级程序员都爱睡午觉?

或许,这种矛盾产生于在大部分的职业中,工作时间和产出价值一般都是呈线性关系的,这是一个很简单的逻辑,比如说你的工作是制造某种商品,那么你的工作时间越长,你就能产出更多商品。越多工作时间=越多价值,对吧?但是这一逻辑在科技行业是说不通的,工作时间和产出价值其实没有多大联系。而且我甚至可以毫不留情地断言,有时候工作时间和产出价值是成反比的。

没错,工作时间和产出价值在科技行业有时候并没有联系。

因为有时候,你可能纠结了一个礼拜都没搞懂到底是哪里阻塞了,这种情况下你就算用脑袋撞墙都没用。你会觉得自己的工作无法创造任何价值,直到你发现问题到底出在哪里并且解决问题(到这一步,你总算创造了一点商业价值)。而真正解决问题的时间,可能只需要10分钟不到。

或者再举一个例子,你可以暂停其他工作,花一小时时间让电脑自动编程,而这样一来你就可以节省大把时间为另一个项目小组工作;再或者说,你可能会忽然有一个新想法改进了检出漏斗,或许对于公司来说,转换速率仅提升了1%,但是对于某个企业,你可能为它增加了百万年收入。

图2:顶级程序员都爱睡午觉?

还有的时候,工作时间和产出价值可能成反比(即越多的工作时间=越少的产出价值)。在讨论“创造商业价值”的关键业绩指标时,工作效率其实取决于诸多因素,而这些因素你甚至可能无法掌控,甚至从未意识到。有时候,如果你以精疲力竭的状态工作一整天,还不如好好休息,第二天早晨的5分钟来的高效。仅仅5分钟,你就可能诊断出一整天都没有发现的问题。你必须承认,适度休息是高效工作的重要因素之一。

“10x程序员”和“工作神速”的传说

回到“10x程序员”这个问题上来。

在软件行业工作多年,我总觉得“10x程序员”,即“可以比普通程序员产出10倍代码的顶尖程序员”这一概念非常不现实,可能你也这么觉得。不过如果是以创造的价值来看这个问题,似乎听起来更靠谱一点。

当然,我也可以列举出一些目前专心解决技术性问题,并且从未保证过会带来任何商业价值的程序员,他们工作仅仅是因为这些技术问题富有乐趣且充满挑战。但同时我也可以负责任地断定,这些程序员缺乏工作或者是人生经验,或者,他们还没有看到创造商业价值有多么重要,他们还未意识到自己看似一腔热血的宏伟抱负其实是一种错误的走向。他们的领导人也太过于专注技术问题,还没意识到商业价值其实比技术问题更重要。

如果仅仅以解决的技术问题的关键业绩指标作为衡量标准,那么行业内任何一个正在创造商业价值的程序员似乎都可以被称作“正无穷x程序员”了。

而且,如果仅仅以关键业绩指标作为衡量标准,“工作神速却打破平衡”意味着“在尽可能短的时间内创造最多的商业价值,而为了创造更多商业价值,你无须关注过去已经创造的价值,即使你可以找到更高效的工作方式”。

然而,一旦“提升创造商业价值的能力”意味着你需要减少工作时间,好好休息以创造最大化的商业价值,那么即使是还未走向成熟的初创企业也不会给员工施加太大的压力,不会以工作时间来衡量每位员工的价值。

行业偏好?

我必须承认,不是每个公司都秉持与我相同的观点。

有不少公司,例如Uber、苹果公司之类的,他们希望顶尖工程师可以在一天内释放无穷能量,最大化日产出,以此获得最大化的商业价值;而另一方面呢,想Facebook,Salesforce之类的公司,就更坚持每位员工都必须懂得“慢下来才能快起来”的道理。他们希望员工休息得当,合理安排工作和休闲时间。这些公司则相信,只有员工获得了最好的休息,才能以最少的时间获得最大的产出,这才是真正的效益最大化。

图4:顶级程序员都爱睡午觉?

其实每一方都有各自的道理,我也无意评判孰是孰非。只不过,我个人的观点在于:

  • 后者的做法让公司走出文章一开始提到的悖论,也不会陷公司于不仁不义之地。毕竟软件行业的工作性质决定了最长时间无法保证最大化的商业价值,而最优化的选择才是制胜的关键。
  • 作为行业内的一位工程师,你必须从这两种公司文化中做一个选择(其实所有公司都介于这两者之间),这一点其实已经比其他行业内无数灰色潜规则要好得多了。

最后的总结

回到一开始我在标题里说的,10x程序员真的每天还要睡个午觉嘛?

不,当然不,绝对不!作为读者,千万不要迷信这句话。

不过,那些以“商业价值”衡量工作的“10x程序员”的确会有适当的休息,毕竟他们很清楚自己的工作极限在哪里,他们明白什么时候应该切换至休息模式,以激发自己在工作模式时的无穷可能,创造更大的商业价值。

这类人中的一部分可能的确会睡一个安稳的午觉,不过对你来说的话,还是算了吧……(要休息的话你可以在晚上散个步,玩会儿电子游戏分散注意力,或者和孩子做些亲子互动吧……)

所以,下一步要怎么做呢?如果你读完文章还是云里雾里,不知道怎么把我的这些观念应用于生活,那么我给你的建议是:

  • 找出自己一天或是一周内用5行代码就能解决疑难商业问题的高效时期的工作模式;
  • 在日常工作中反复尝试这种模式,看看能否事半功倍;
  • 找出自己的极限所在,优化自己的体能、大脑以及产量;
  • 最后,在挑战自我极限的同时也别忘了遵循自己的极限,劳逸结合,使效率最大化。
余下全文(1/3)
分享这篇文章:

请关注我们:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注