这是我的一个预言,前半句是当前事实,后半句是基于事实推断未来无可避免的事情。
对于年轻人而言,底层开发收获与投入比重将会越来越低。很简单,柏油路都建好了,未来将不存在什么颠覆性的基础软件产品。Windows 不说了,就拿 Linux 内核为例,近来很多人都提出构建全新的,不再基于传统 Linux 的操作系统,包括 Google 在内的一些巨头蠢蠢欲动,现在看来也是雷声大雨点小。比如之前呼声很高的什么 Fuchsia 最近也没什么声音了,就算新兴 IoT 方面,实时仍然老牌 FreeRTOS 等为主,非实时也看不到取代裁剪 Linux 的可能。新的产品很有可能毫无建树,如果年轻人真的对底层开发感兴趣,那么他们最明智的方向还是去学习 Linux,并且将他们未来几十年的职业生涯寄托在这些老牌软件上。
显然具备这样热情的年轻人是有限的,他们天生敢闯敢拼的冒险家心态决定了多数人不愿意去维护前人花了数十年,累计几千万行的作业。如果不能将老东西们推翻重来,他们宁愿去开辟新的领域,以此作为属于自己的一片天地,正巧当今的商业资本对此也是喜闻乐见,一直鼓励他们这么干。这就导致了那些愿意留下来并心甘情愿默默为传统付出年华的人们得到的报酬总是不如前人那样多干得好了那是前辈的功劳,干不好就需要勇于承担责任,包括被 Linus 为首的老家伙们训斥。当然细细追究起来,大多数情况下,这些训斥是正确的也是应该的,但是这显示了一个先兆,那些基础软件的补丁质量在逐渐下降,以至于老人们都看不下去了。
我们不能否认先辈们在软件工程上长年累月孜孜不倦的投入,取得的功绩以及累积的高水平,但是这种优良传统正在逐渐被侵蚀。年轻人不愿意再往底层投入,不在乎那些过时的成绩,对源码细节的探索也不再充满热情,他们不愿意去做“平行世界的守护者”。这并不意味着年轻人不具有高水平,而是他们追求自我,所谓“自我实现的价值”。很不幸,这些东西与现存的软件工程有着不可调和的矛盾。年轻人意识到如果他们留下来,也不太可能取得 Linus Torvalds、Jeff Dean 这些人当初的成就,这个世界已经太拥挤了。对于留下来的人来说,对于报酬的考虑似乎更加现实与理智。
我有时候也不免想象再过十年,Linus 等开源世界的群雄从决策者退下来之后,他们留下来的庞然大物会往什么方向发展。也许这根本不需要我操心,如今编程教育日趋完善,人才的供给源源不断,整个软件产业虽不能说饱和,起码也是相当成熟了。披荆斩棘的草莽英雄多已安然退居幕后,精力旺盛的新生代们乐此不疲地开着自家小汽车在柏油路上狂飙。丰富的资产仍然需要有人修桥补路,平行世界仍然需要守护者担当大任,但是这些人未来应该不会受到太多的关注,这意味着他们的付出可能得不到期望的激励。二十年前最优秀的人才都在指针和指令上绞尽脑汁,如今新来的人可能不再关注这些细节,毕竟这些承载着成千上万小汽车的老破柏油路不属于自己的产品,他们只想解决那些头痛的 bug,尽快交付过去,有时候就难免显得急功近利。他们提交的补丁受到老家伙们种种不待见,后者痛心地斥责前者的玩世不恭,前者内心却为后者傲慢的脾气深感憋屈。于是矛盾不可避免,日益升级,爆发冲突,直到拂袖而去,熟悉的一幕幕在邮件列表中日复一日地上演,留下的是源代码中不断增加的千疮百孔。
还记得经济学里“破窗效应”,就是不良现象的放任导致更多的破坏,这在软件工程中同样存在。我以为万物都会有自己的生命周期,但对于基础设施而言,这个周期几乎就是无限的,只不过内部将会越来越破败。这固然可以归咎于管理不善维护不周等人为因素,但对于自然规律,任何软件都逃不掉因果除非自身不再进化,或者一直到人们实在无法忍受的那一天。幸运的是,无论开源软件还是商业世界,总有替代品,不过时机未到而已。人们不必担心有朝一日自己的生活受到毁灭性打击,平行世界的守护者们将会永远驻留。
深夜搁笔。
对于年轻人而言,底层开发收获与投入比重将会越来越低。很简单,柏油路都建好了,未来将不存在什么颠覆性的基础软件产品。Windows 不说了,就拿 Linux 内核为例,近来很多人都提出构建全新的,不再基于传统 Linux 的操作系统,包括 Google 在内的一些巨头蠢蠢欲动,现在看来也是雷声大雨点小。比如之前呼声很高的什么 Fuchsia 最近也没什么声音了,就算新兴 IoT 方面,实时仍然老牌 FreeRTOS 等为主,非实时也看不到取代裁剪 Linux 的可能。新的产品很有可能毫无建树,如果年轻人真的对底层开发感兴趣,那么他们最明智的方向还是去学习 Linux,并且将他们未来几十年的职业生涯寄托在这些老牌软件上。
显然具备这样热情的年轻人是有限的,他们天生敢闯敢拼的冒险家心态决定了多数人不愿意去维护前人花了数十年,累计几千万行的作业。如果不能将老东西们推翻重来,他们宁愿去开辟新的领域,以此作为属于自己的一片天地,正巧当今的商业资本对此也是喜闻乐见,一直鼓励他们这么干。这就导致了那些愿意留下来并心甘情愿默默为传统付出年华的人们得到的报酬总是不如前人那样多干得好了那是前辈的功劳,干不好就需要勇于承担责任,包括被 Linus 为首的老家伙们训斥。当然细细追究起来,大多数情况下,这些训斥是正确的也是应该的,但是这显示了一个先兆,那些基础软件的补丁质量在逐渐下降,以至于老人们都看不下去了。
我们不能否认先辈们在软件工程上长年累月孜孜不倦的投入,取得的功绩以及累积的高水平,但是这种优良传统正在逐渐被侵蚀。年轻人不愿意再往底层投入,不在乎那些过时的成绩,对源码细节的探索也不再充满热情,他们不愿意去做“平行世界的守护者”。这并不意味着年轻人不具有高水平,而是他们追求自我,所谓“自我实现的价值”。很不幸,这些东西与现存的软件工程有着不可调和的矛盾。年轻人意识到如果他们留下来,也不太可能取得 Linus Torvalds、Jeff Dean 这些人当初的成就,这个世界已经太拥挤了。对于留下来的人来说,对于报酬的考虑似乎更加现实与理智。
我有时候也不免想象再过十年,Linus 等开源世界的群雄从决策者退下来之后,他们留下来的庞然大物会往什么方向发展。也许这根本不需要我操心,如今编程教育日趋完善,人才的供给源源不断,整个软件产业虽不能说饱和,起码也是相当成熟了。披荆斩棘的草莽英雄多已安然退居幕后,精力旺盛的新生代们乐此不疲地开着自家小汽车在柏油路上狂飙。丰富的资产仍然需要有人修桥补路,平行世界仍然需要守护者担当大任,但是这些人未来应该不会受到太多的关注,这意味着他们的付出可能得不到期望的激励。二十年前最优秀的人才都在指针和指令上绞尽脑汁,如今新来的人可能不再关注这些细节,毕竟这些承载着成千上万小汽车的老破柏油路不属于自己的产品,他们只想解决那些头痛的 bug,尽快交付过去,有时候就难免显得急功近利。他们提交的补丁受到老家伙们种种不待见,后者痛心地斥责前者的玩世不恭,前者内心却为后者傲慢的脾气深感憋屈。于是矛盾不可避免,日益升级,爆发冲突,直到拂袖而去,熟悉的一幕幕在邮件列表中日复一日地上演,留下的是源代码中不断增加的千疮百孔。
还记得经济学里“破窗效应”,就是不良现象的放任导致更多的破坏,这在软件工程中同样存在。我以为万物都会有自己的生命周期,但对于基础设施而言,这个周期几乎就是无限的,只不过内部将会越来越破败。这固然可以归咎于管理不善维护不周等人为因素,但对于自然规律,任何软件都逃不掉因果除非自身不再进化,或者一直到人们实在无法忍受的那一天。幸运的是,无论开源软件还是商业世界,总有替代品,不过时机未到而已。人们不必担心有朝一日自己的生活受到毁灭性打击,平行世界的守护者们将会永远驻留。
深夜搁笔。
