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

2023-11-24 09:10

本文主要是介绍基础软件研发,可能是中老年程序员的最后堡垒,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

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

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

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

首先,相对于应用软件,特别是互联网行业的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. 明明拼智力的编程,为何还要拼年龄?

这篇关于基础软件研发,可能是中老年程序员的最后堡垒的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/421642

相关文章

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念