基础软件研发,可能是中老年程序员的最后堡垒

今天是农历腊月二十六,街上道路越来越通畅,办公室越来越空旷,这都在宣告,旧的一年即将过去,新的一年即将来临。

进入2020年,九零后开始三十而立,八零后开始四十不惑,IT行业也即将迎来老龄化时代。在为啥你身边没有40+的程序员这篇文章中谈到,不是40+不适合干程序员,而是中国大量的程序员还没到40+。中老年程序员如何体面的生活下去,确实是一个问题。转管理岗、做自媒体、或者成为培训师、创业,都是不错的选择,但需要提醒的是,对于大多数程序员而言,继续在本领域耕耘,可能是最好的选择。

但现实也有严峻的一面,说是年龄歧视也好,其它原因也好,年过四十再出去找工作,的确是一件很难的事情。那中老年程序员的出路在哪里?

基础软件研发,可能是中老年程序员的最后堡垒_第1张图片

基础学科招生改革试点意见

我也一直在思考这个问题。最近看到一个来自教育部的红头文件《教育部关于在部分高校开展基础学科招生改革试点工作的意见》,文件中提到,强基计划主要选拔培养有志于服务国家重大战略需求且综合素质优秀或基础学科拔尖的学生。聚焦高端芯片与软件、智能科技、新材料、先进制造和国家安全等关键领域以及国家人才紧缺的人文社会科学领域。这其中,基础软件研发应该是中老年程序员的一个不错的选择。

所谓基础软件,是操作系统、数据库、办公软件和中间件的统称。我们熟知的基础软件有操作系统、数据库系统、中间件、语言处理系统(包括编译程序、解释程序和汇编程序)和办公软件(包括文字处理、电子表格、幻灯片)等等。其实广义上的基础软件更多,比如网络协议库、浏览器引擎、音视频编解码、... 甚至我们如果开发出一个压缩解压程序库,都可以算得上基础软件。

为什么说基础软件研发适合中老年程序员呢?

首先,相对于应用软件,特别是互联网行业的app,基础软件一般更新比较慢,不会快速迭代。近些年来,虽然互联网之风也吹进了基础软件,手机操作系统Android、IOS也在快速演进,但也基本上是一年多才会发布一个版本,相对于app十几天、个把月就出一个新版本,还是要慢得多。更多的技术,其演进过程都是非常漫长的。比如IPv6,上个世纪开始,人们就开始焦虑IPv4地址会用完,但直到今天,还只是小规模在应用。HTTP 1.0到1.1,到2.0,用了多长时间?Python 2到Python 3,多少次人们就判了Python 2的死刑,但直到现在,仍然存在大量Python 2的代码在工作着。更多的基础软件库,在现实中广泛使用,牵一发而动全身,修改需要慎之又慎。在明明拼智力的编程,为何还要拼年龄?这篇文章就分析过,中老年程序员的劣势在于反应能力会下降,思路不那么敏捷。在不那么快速的基础软件研发领域,中老年程序员可以扬长避短,充分利用经验上的优势,和年轻的程序员PK。

其次,应用软件,特别是MIS(信息管理系统)之类的软件,更多的是理解业务逻辑,计算机基础知识,比如算法、计算机原理之类的知识并不是那么重要,这也是很多外专业的人进入IT行业,同样可以干得很好的原因之一。而基础软件,更多的需要掌握计算机相关的基础知识,这个时候,经验积累就非常重要了。就拿浏览器引擎来说,别说开发一个新的引擎,就拿开源代码来说,几百万行的代码,你要看懂,没个三年五载的,能行吗?你要修改网络协议,HTTP、SSL规范你需要好好研究吧。要修改排版引擎,HTML、CSS规范你需要好好读一读吧。同理,如果是研究音视频编解码,对于新入者,也是一个很高的门槛。做这些基础软件的研发,新进入者想要抢夺饭碗,不是那么容易。

最后,谈到基础软件,我们脑海中立马会浮现高大上,似乎高不可测,只有顶级的程序员才能做好。但就和所有行业一样,顶级的人物推动着行业向前发展,而大部分的人都是实现与完善。就拿安全领域来说,加解密算法是顶级的数学家与密码专家发明的,从计算机出现开始到现在,到底发明了多少算法呢?屈指可数。目前最广泛的加解密算法,如DES、AES、RSA,都是在上个世纪六七十年代发明的。大部分的人都是进行这算法的实现、优化和应用,比如SSL、TLS,以及算法在各种平台、芯片上的优化。最近在参与一个国密的项目,深入进去后才发现,不只是算法这么简单,涉及到一堆RFC文档、ITU标准,才能将算法应用起来。这其中就涉及到大量而细致的工作,文档要认真的读,实现要严格遵循各种标准。中老年程序员这方面应该更有优势,不再那么浮躁,容易静下心来阅读这些文档,按部就班按照标准进行测试。

当然,有朋友可能会有疑问,从事基础软件研发,有前途吗?

这个问题,要是放在二十年前,可能并不成立。因为大量的基础软件都是外国人开发的,中国则一穷二白,当然是实行拿来主义,进行基础研发的公司少之又少。那时做基础软件的人才,只有少数几条出路,去外企或研究院,出路并不宽广。但现在情况不同了,一方面,中国的技术水平进步了,以前只要紧盯着美国,然后copy到中国来就行,现在中国已经处在前列,没有copy的对象,必须要进行一些创造性的工作。另一方面,则是世界局势发生了一些变化,当中外发生对立,别人不让中国使用这些技术该怎么办。典型的例子就是美国对华为进行技术制裁。所以中国现在大力投资高端芯片与软件、智能科技、新材料、先进制造和国家安全等关键领域,而高精尖的技术离不开基础技术的进步,这必然会带来大量的工作机会。

在如今中国,只要不懒,没什么疾病,干什么都有活路。对于程序员而言,重要的是如何维持体面的生活。能投入基础软件研发的,基本上都是大公司,以及有国家背景的研究所,其待遇不会差到哪儿去,在某些关键岗位,可能并不比互联网公司差。不管怎么说,拿一份体面的薪水还是没有问题的。

当然,如果从事基础软件研发,你也可能失去一些东西,比如说,接接私活(也许有少量机会)、开发一个大卖的app,再比如说,处在互联网快速发展前沿的那种紧张刺激的快感。这个嘛,有得有失,做人哪,不要太贪心,什么都想要。

以上仅仅是我的主观看法,听听就好。路,还是要靠自己走下去。有什么想法和观点,欢迎留言探讨。

你还可以看:

  1. 为啥你身边没有40+的程序员

  2. 我所经历的三次裁员

  3. 明明拼智力的编程,为何还要拼年龄?

你可能感兴趣的:(4.程序人生)