程序员正在遭受来自这个社会的,同对医生一样的误解。为什么大众会误解医生呢?或者说,为什么医生与患者间的关系开始变糟了呢?行医救人的职业古已有之,尽管那时尚无「白衣天使」这种搪塞个人追求的名字。然而工业时代来袭,全世界的居民都接受了经过塑造的现代生活方式、谋生手段,且几百年而不绝,这种改变仍在快速进行之中。物资丰富、日新月异的年代,每个人都有权获得更好的生活。为了区分这个先后缓急,才有了资本、技术、劳动作为收入分配的依据。医术自古即是一门技术,但那时技术还算不得资本,更何况是「士农工商」的年代?

现今的人不能理解社会系统、国家机器运作的复杂性和脆弱性,他们仍习惯于以小农时代的思维模式打量这个世界的运转。也正由于此我们能够时常看到身边人关于社会管理、国际关系等的的种种呓语。正如和你大谈高层秘辛的出租车司机不必深究汽车原理便可参与营运一样,现代社会允许其成员未曾窥过其逻辑即可自由地享受生活。简言之,现时的医生早已不同于古代,就医过程的参与者也不仅是患者与医者双方。用想当然的逻辑思考规整化的医疗体系,自然是会出问题的。

程序员就更可怜了。如果说医者的职业目的大众还算心中有数的话,对程序员,就真算一片空白了。「开发软件」?软件是什么?即使是日常用到软件的人,也不清楚这些司空见惯的程序的复杂程度(「2000块给我做个淘宝」)——从这个角度讲,社会和软件倒有相似之处。须知,大多数人对职业的认识几乎完全是从个人经验出发的——比如律师就是耍嘴皮子,设计就是随便画画。在建筑行业整体遭冷的今天,仍有不少的重庆人相信搞桥梁是最好的职业之一,因为他们一辈子见得最多的就是桥。更何况,在风口可以吹猪上天的今天,程序员引来了诸多行业的羡慕与嫉妒。又有大批对计算机几无敬畏与热爱的人入行以工程师自居。这些拿着半吊子水平的Java就大谈而谈各路本质论的人继续伤害着程序员在大众眼中的观感,误解自此不可避免。

说「这个世界还未能体会程序员带来的美和智慧」有些过了。对于我这个不爱车的人来说,我也没法感受搞汽车的人乐趣在哪。不过我清楚汽车是什么,做什么,大概是个什么样子。我也明白现今驾驶、乘坐的体验是上百年一代代工程师的努力带来的。可……把「汽车」换成「软件」呢?这确是教育的问题。今天又越来越多的人把杨永信的网瘾治疗当作是一个笑话,但不要忘了在2016年还有大量的人想在互联网上再来一次卢德运动。可悲又可笑。

未来当然会有越来越多的非程序员学会编程并用以解决自己领域的问题,也当然会有程序员丢掉饭碗,正如原来的电话接线员。实际上,如果现在的程序员穿越回二三十年前:「不会手写键盘驱动来接受输入,你也配叫会编程?」技术的进步是为了解放人类,使其能考虑更高层次的问题。国内僵化落后的计算机普及教育,却会使更多的外行视编程为洪水猛兽,也无法正式程序员这个职业。

做一个程序员有哪里好羞耻的呢?在「劳心者治人而劳力者治于人」的文化环境中,程序员的火热本身就是对「读书无用论」的重击。我很期待在未来看到工作到六七十岁的老程序员,那是社会理念更进步的表现。想一想,还有多少专业的人有资格以纯粹的兴趣看待专业问题呢,并拥有如此低的创造成本呢?

全世界程序员,联合起来!