程序员老矣,尚能编否?
本文作者史蒂文·沃恩·尼克尔斯(Steven J. Vaughan-Nichols)算得上是一名骨灰级的老程序员和IT业者。早在上世纪七十年代,CP/M-80操作系统还是前沿技术,300bps还算很快的网络连接时,史蒂文就已经开始进行关于科技与商业相关文章的写作了,他也是第一个对万维网进行报道的记者。下面,就是他为广大老程序猿们发出的呼声:
我56岁了。虽然说我还不是真正意义上的爷爷,但是也老得差不多了。我最开始接触因特网是在上个世纪70年代。我使用的第一个编程语言是IBM 360汇编语言,第一个操作系统是IBM大型机OS/360系统。我是第一个报道万维网(Web)这个新的网络服务的记者,那时才1993年。不过其实我也只是知道了关于计算的一点点皮毛而已。
本文作者史蒂文·沃恩·尼克尔斯
可是最近我注意到了很多言论,都在说我们这些老人们不能理解iPhone,Linux或者云之类的“新兴事物”。这让正在使用它们的我感到自己仿佛背叛了“老年人”这个群体一样。
但是,请大家看看我们IT领域的名人吧。丹尼斯·里奇(Dennis Ritchie),C语言之父,Unix的创建者,去年辞世,享年70岁。肯·汤普逊(Ken Thompson),Unix的另一位发明者,现在已经69岁。詹姆斯·高斯林(James Gosling),Java之父,现在已经57岁。比尔•盖茨(Bill Gates)和微软CEO史蒂夫·鲍尔默(Steve Ballmer)都是56岁。史蒂夫·乔布斯(Steve Jobs)离开我们时也是56岁。蒂姆·库克(Tim Cook),乔布斯的继承者,苹果现任首席执行官,51岁。
那对于Linux和开源呢?自由软件创始人理查德·斯托曼(Richard Stallman)现在已59岁。他的开源哲学的竞争对手埃里克·雷蒙(Eric S. Raymond)现在也54岁。而就连Linux之父李纳斯·托沃兹(Linus Torvalds)也已经过了不惑之年,虽然算不上老,但是也算是大龄中年人了。
当然,不仅仅只有这些著名老程序猿才能代表我们:有调查显示,2012年,有27%的社交网络用户年龄超过了45岁。
我们这代战后婴儿潮出生的人总愿意把自己想象成一个永远年轻的家伙,但事实很残酷,我们当中已经有一些人退休了,没退休的那些老头子们,却都身处在对老员工有敌意的IT业工作环境里。
我想这就是为什么一直有许多关于“老人不理解科技”的言论,也许是有些人为了隐藏“年龄偏见”,这个IT行业里公开的秘密。
确实,那些已经人到中年的人都有家有室,可能没有太多精力来一周工作80多个小时,但是那又怎样呢?早在几十年前,在佛瑞德·布鲁克斯(Frederick Brooks)的软件管理经典著作《人月神话》中就提到:在IT领域,人力和时间并不呈线性关系,大量人员和较短的时间,并不能缩短软件的开发进度。
代码好不好,经验最重要
可悲的是,这种早该摒弃的“工时越长越好”的想法却在IT领域一直存在着,事实上,真正重要的是谁工作得更有效率。在一些如法律和会计等行业里,计费工时是唯一的衡量标准,这种系统鼓励人们在每件任务上花的时间越多越好。然而在IT行业并非如此,我们需要的是高质量高效率的完成工作,在尽可能短的时间内犯尽可能少的错。
你知道吗,那些很早就开始使用C语言的老程序员不一定就比一个20岁“精通”JavaScript的天才效率低。
我也并不是说老员工总是更好的,我知道很多人处于“待退休”状态,他们也懒得去学习新的技能。他们不能理解以前的服务思维已经在这个每个人都移居到云端的时代行不通了。
但最重要的是,优秀的“祖父级”程序猿也可以做的和年轻员工一样好。记住,那些老爷爷们不仅仅理解技术,也很有可能是这些技术的发明者。