什么是程序员的核心竞争力?答曰:首先是技术,其次是他人的信任。
什么是程序员的核心品质?答曰:折腾精神。
如果对新鲜事物失去好奇心,不愿意把手弄脏去尝试,过于结果导向,不喜欢玩耍,没有偏执的观点,不能享受创造的乐趣……那么,即使每天都在写着代码,也不是合格的程序员。
这种折腾精神,在软件与硬件的星空中被一遍遍点燃。
乔布斯年轻时和沃兹尼亚克造出能盗打长途电话的“蓝盒子”,不为赚钱,只为好玩与挑战系统的快感。多年后他在斯坦福演讲里说“Stay hungry, stay foolish”,其实正是程序员式的饥饿:永远想拆开下一个黑盒,看看里面到底有什么。Linus Torvalds 创造 Linux 的初衷,不过是想在自己电脑上玩一个类 Unix 的系统,他在自传《Just for Fun》里反复强调,这一切的起点是“just for fun”——为了快乐,为了折腾。Unix 之父 Ken Thompson 在贝尔实验室里,最早是为了能在一台废弃的 PDP-7 上跑一个太空旅行游戏,顺手写出了 Unix 的雏形。偏执、好奇、不求立竿见影的“玩心”,反而催生了改变世界的工具。
学术界亦不缺少这样的光景。Donald Knuth 写《计算机程序设计艺术》,只是因为觉得当时没有人把事情讲清楚,于是索性自己从头造起,一写便是半个世纪,至今仍在细细打磨。John McCarthy 在设计 Lisp 时,脑子里想的不是商业产品,而是如何让机器拥有推理的能力——一个纯粹出于智力好奇的折腾。他们身上,能看见一种近乎堂吉诃德式的执拗,以及对创造本身不可抑制的乐趣。
大儒周敦颐,常教人做学问要寻『孔颜乐处』。子曰:『饭疏食,饮水,曲肱而枕之,乐亦在其中矣。』子曰:『一箪食,一瓢饮,在陋巷。人不堪其忧,回也不改其乐。』写代码也要寻到这样的乐处,才能写出有生机的代码,才能做出真正的创造。