在一个周六的晚上,同事的一段文字让我思绪万千,沉寂了十几年的写作冲动,就这样被这段文字唤醒了,虽然已经0点过半。
不断萦绕在我脑中的一个思考:为什么越是痛苦压抑,越是能够产生富于生命力和创造力的文字;越是写意轻松,产生的却是浮躁且没有灵魂的声音。已经忘记是在哪里看到过这样一篇文字,叫做“历史的终结”,大概的意思就是,当故事走向幸福道路的时候,历史就在此刻终结了,因为幸福的故事已经不需要被表达与陈述。
“每一个幸福的家庭都是相似的,而每一个悲惨的家庭都有各自不同的悲惨”,这给出了一个可能的解答。痛苦是多样化的,而多样化正是生命力与创造力的源泉。在痛苦的挤压下,在那一丝丝的罅隙中奋起抗争,产生的是生命力与创造力;在约束的束缚下,在那一点点的空间中辗转腾挪,浮现出的却是富于生命力与创造力的设计。
软件便是这样,它是在问题与约束的罅隙中,纯粹脑力挣扎的产物。然而软件却又不同于文学作品,文学作品的运行时环境是人的大脑,大脑极强的适应性使得文学作品的价值可以世世代代的延续下去;然而软件的运行时环境是机器,其价值在几十年甚至短短几年里便会消耗殆尽,软件是短命的。
一个又一个新的javascript框架产生了,主流技术栈变得越来越相似,轮子在不同的语言和框架中一遍又一遍的被重复发明着,软件总是被淘汰与替换着。
自软件诞生起,就以惊人的速度不断降低着自己的构建成本,随着软件开发技术的不断革新,今天大多数的商用软件,本质上都是基于开源软件的二次开发而已,各种PaaS平台的兴起,进一步让软件的构造变的越来越容易。
想想你所写的每一行代码,将会以多快的速度被淘汰、被替换、被遗忘?越来越多的公司纷纷开源了自己的核心软件资产,让软件成为一种吸纳人才的手段,这些公司的核心竞争力越来越不在于软件本身。
软件生来便是短命的,越来越容易构造,就会越来越快的被替换和淘汰,也不会有太多公司以软件作为核心竞争力——Software is Worthless,即使不是现在,也就在不远的将来。作为软件的从业者的我们,整天疲于奔命学习新技术的我们,又应当用什么来衡量自我的价值?这一切的意义何在?
好吧,可能这个问题现在还不重要,在软件变的越来越容易构造、生产成本越来越低的时候,我们的工资却在不断攀升,在这样的一个软件人才供需极度不平衡的市场上,散发着软件要吃掉整个世界的信号,也许幸福的日子还能持续很长一段时间。可惜幸福与工资并没有太大的关联关系,所以历史也并未在此终结。
回顾我自己这些年的技术生涯,所做过的大大小小的项目,几乎都有着各自的悲惨,无论是成功的、失败的,都谈不上令人满意。所做过的技术决策,随着技术的革新,无一例外都是错误,若是以结果来衡量软件开发本身,一定是“人终有一死”。然而我的感觉却没那么糟,因为我更相信自己能够在新的环境下,更好的认清楚自己要解决问题,更好的搞清楚约束是什么,更好的保持开放心态、同时谨慎前行。除此之外,我却找不到任何一个与技术相关的词汇来描述自己的收获。
软件的本质是知识工作,而软件开发的过程,就是学习与成长的过程,过程的重要性是要远大于结果的。我们在尽力打造更好软件的同时,也打造了更好的自己。
思绪渐渐飘到了3年前,在我对自己的技术生涯感到迷茫的时候,一位在硅谷干了二十多年,在公司干了一圈管理又回到技术岗位的同事对我说:“写程序之于我,就好像是空气和水一样不可或缺,我觉得你应该和我是一样的”,面对这句话的时候,当时的我无法回应。然而在脱离技术岗位1年多,又重新开始做技术的今天,我却想回到那个时间点,回答说“是的,我也是一样。”
除了意识到自己对编程如此热爱之外,还体会到这个比喻中蕴含的更深刻的含义。
我们应当如何去衡量水的价值?我们又如何去衡量空气的价值?我们如何去衡量软件的价值?衡量知识的价值?衡量自我的价值?
今天,软件就如同空气和水,覆盖着我们生活的方方面面,变成了我们无法缺少的东西。当这个世界上,水需要去买,也许在某种程度上说,空气也需要去买的时候,难道不能引起你的反思,反思这个世界是哪里出了问题?这一切,都让我想起了互联网、黑客、开源精神,还有 Aaron Swartz……
在我们打造更好软件的同时,打造更好自己的同时,也许还有一个更远的远方在召唤着我们。
文/于晓强