X.D 笔记X.D 笔记

另类解读:10倍程序员

另类解读:10倍程序员

10倍程序员

总听到一个词,10倍程序员,一直以为就是一个互联网串串词,今天看到了知乎上的一篇文章,没想到这个词竟然是出自一个大神。

在普通程序员 和 优秀程序员 之间,有着 10 倍多的差异 《没有银弹》Fred Brooks / 1987

Fred Brooks 的著作《人月神话》被称为软件工程圣经,咖位够大。其实不仅是他,包括比尔·盖茨在内的很多大神都有过类似言论。

量化公式

但是,在网上任何关于10X程序员的解释,内容感觉都像鸡汤或鸡血,属于绝对正确的价值观,无法量化评判。

所以我个人思考下,发明计算方式,纯属娱乐,认真勿看

(N) 倍程序员 = 省去的时间 ÷单独完成需要时间 省去的时间

倍是一个相对概念,必须对比才有意义 xdnote.com

不好理解吧,来举个例子。

假设,安排给你一个任务,你单独完成,需要 10天

因故又安排了 程序员A,与你 合作 共同完成这个任务。

结果 1天 就搞定了,由于你单独完成需要10天,所以,省去了9天时间。

那么他对于你来说就是 9 ÷ (10 − 9) = 9 ÷ 1 = 9 倍程序员

计算器

这里,提供一个计算工具,仅供娱乐,切误认真。

简易计算器横屏或电脑
是否能独立完成 : 独立完成需要耗时
是否能独立完成 : 独立完成需要耗时
你们合作是否可完成 : 合作完成需要耗时
计算结果你对他而言,是0.25倍程序员
他对你而且,是0.25倍程序员

互利

我发明的这个公式,有个神奇之处,就是 互利

上面说到,独立完成任务,你本需要10天。但程序员A 合作时,1天就完成了,对程序员A 于你来说就是 9倍程序员

那你对他来说呢?难道是 0.1倍程序员? ,并不是,目前没办法算计算,除非你知道他单独完成需要多少时间。

假设他单独做这个项目,需要3天时间,和你一起1天就完成了,对于他来说,省下的时间就是 2天

你相对于他,竟然是 2 ÷ ( 3 − 2 ) = 2倍程序员

论能力,他可能强你很多,但你相对于他来说,却是2倍程序员,这就是互利。

真实工作

你可能会说:这不可能、也不科学

虽然这只是个例子,但实际工作中,和不同人合作,产生预期变化的事情,真是数不胜数。

忘掉上面的公式,回想一下与你合作的人,可能会存在以下几类:

  1. 你和他一起做事时,效率大增,可以做到 1 + 1 > 2 ,如果协同强的伙伴,大于 3,4 都不是啥事,就像电影中的主角团队一样散发光芒
  2. 当然这种关系不可求,大多数情况时,你和别人合作,可能会感觉 1 + 11.52 之间,这并不能说明水平能力高下,只能说明:他对你的倍数就是 1 倍左右,也说明不了你对他的倍数。
  3. 其实很正常,因为正常组队都会有内耗,能过 1.5 就算不错,很多时候, 1 + 1 的效用可能 1.5 都不到,特别是对于那些喜欢单干的程序员来说,会很难受,因为公式存在 互利,那必然也存在 互损,所以这种情况尽量安排不同的任务。
  4. 最伤的情况,就是 1 + 1 < 1, 当你遇到整天浑水摸鱼,或者敷衍了事的那些人,你会觉得不如自己干,所有的交流都是浪费生命。

10倍的品质

再说一次,忘掉上面的公式,纯属娱乐,程序员的价值其实并不再于效率,而是在于 不可替代性,从上面的公式可以看出,做到10倍是很难的,但做到无穷倍确很简单。

关于10倍的品质,网上写的很多,我都认同,就列3点我最喜欢的:

  1. 10倍程序员不用奇技淫巧。
  2. 大多数10倍程序员是全栈工程师XD : 不止,10倍程序员不止要在技术上全栈,还需熟悉运维、产品、销售。
    10倍程序员处理任务时,主次清晰、核心明确,不会有无效返工。
  3. 10倍程序员知道已经投入生产的每一行代码是怎样运作的。发生问题时他们能准确地知道是哪里有bug,并且能非常快地完成修复。

我自己的观点是:代码是思想表达的工具,将思想通过代码表达出来,是程序员的,而如何写代码,各种语言技术框架工具技巧都仅是,不要停留在术的层次太久,因为只有思想,是不可替代的。