对于年轻人而言,底层开发收获与投入比重将会越来越低。很简单,柏油路都建好了,未来将不存在什么颠覆性的基础软件产品。Windows 不说了,就拿 Linux 内核为例,近来很多人都提出构建全新的,不再基于传统 Linux 的操作系统,包括 Google 在内的一些巨头蠢蠢欲动,现在看来也是雷声大雨点小。比如之前呼声很高的什么 Fuchsia 最近也没什么声音了,就算新兴 IoT 方面,实时仍然老牌 FreeRTOS 等为主,非实时也看不到取代裁剪 Linux 的可能。新的产品很有可能毫无建树,如果年轻人真的对底层开发感兴趣,那么他们最明智的方向还是去学习 Linux,并且将他们未来几十年的职业生涯寄托在这些老牌软件上。
我们不能否认先辈们在软件工程上长年累月孜孜不倦的投入,取得的功绩以及累积的高水平,但是这种优良传统正在逐渐被侵蚀。年轻人不愿意再往底层投入,不在乎那些过时的成绩,对源码细节的探索也不再充满热情,他们不愿意去做“平行世界的守护者”。这并不意味着年轻人不具有高水平,而是他们追求自我,所谓“自我实现的价值”。很不幸,这些东西与现存的软件工程有着不可调和的矛盾。年轻人意识到如果他们留下来,也不太可能取得 Linus Torvalds、Jeff Dean 这些人当初的成就,这个世界已经太拥挤了。对于留下来的人来说,对于报酬的考虑似乎更加现实与理智。
部分认同观点,最近在所在的领域也看到了类似的势头,比如数据中心交换机操作系统,公有云、大规模互联网公司那帮人可以自己从头写一个,过程中又不断发现需求改造,甚至可以不用 c 语言;而传统设备商则慢慢退到普通的组网需求,这样我想对那些搞传统设备研发和维护的老人,随着营收的变化以及市场的变化,应该会面临选择,我想这并非说他们不想专注,而是很可能要面临生存问题。