另类解读: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 > 2
,如果协同强的伙伴,大于 3,4
都不是啥事,就像电影中的主角团队一样散发光芒 - 当然这种关系不可求,大多数情况时,你和别人合作,可能会感觉
1 + 1
在1.5
到2
之间,这并不能说明水平能力高下,只能说明:他对你的倍数就是 1 倍左右,也说明不了你对他的倍数。 - 其实很正常,因为正常组队都会有内耗,能过
1.5
就算不错,很多时候,1 + 1
的效用可能1.5
都不到,特别是对于那些喜欢单干的程序员来说,会很难受,因为公式存在 互利,那必然也存在 互损,所以这种情况尽量安排不同的任务。 - 最伤的情况,就是
1 + 1 < 1
, 当你遇到整天浑水摸鱼,或者敷衍了事的那些人,你会觉得不如自己干,所有的交流都是浪费生命。
10倍的品质
再说一次,忘掉上面的公式,纯属娱乐,程序员的价值其实并不再于效率,而是在于 不可替代性,从上面的公式可以看出,做到10倍是很难的,但做到无穷倍确很简单。
关于10倍的品质,网上写的很多,我都认同,就列3点我最喜欢的:
- 10倍程序员不用奇技淫巧。
- 大多数10倍程序员是全栈工程师XD : 不止,10倍程序员不止要在技术上全栈,还需熟悉运维、产品、销售。
10倍程序员处理任务时,主次清晰、核心明确,不会有无效返工。。 - 10倍程序员知道已经投入生产的每一行代码是怎样运作的。发生问题时他们能准确地知道是哪里有bug,并且能非常快地完成修复。
我自己的观点是:代码是思想表达的工具,将思想通过代码表达出来,是程序员的道,而如何写代码,各种语言技术框架工具技巧都仅是术,不要停留在术的层次太久,因为只有思想,是不可替代的。