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

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

相关文章

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

MySQL数据类型与表操作全指南( 从基础到高级实践)

《MySQL数据类型与表操作全指南(从基础到高级实践)》本文详解MySQL数据类型分类(数值、日期/时间、字符串)及表操作(创建、修改、维护),涵盖优化技巧如数据类型选择、备份、分区,强调规范设计与... 目录mysql数据类型详解数值类型日期时间类型字符串类型表操作全解析创建表修改表结构添加列修改列删除列

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro