在医院挂号时,许多人喜欢选择年纪较大的医生,因为他们经验丰富。同样,在装修过程中,我们也不太喜欢选择刚刚入行的年轻设计师或施工团队。然而,在IT行业却恰恰相反,企业更倾向于雇佣刚毕业的年轻人,而程序员在35岁时就可能面临职业危机。那么,背后的原因是什么呢?
首先,最重要的一点是市场趋于饱和。过去的十年间,互联网行业蓬勃发展,无数公司如雨后春笋般涌现,就业需求量大,互联网就业市场一片繁荣。然而,现在的情况已不同往日,许多互联网公司的业务发展停滞不前。同时,随着多年的发展,产品架构已经成熟稳定,不再需要过多的程序员。因此,这些公司必然需要进行结构优化,而优化的对象自然是性价比较低的员工。与此同时,IT行业高薪的宣传吸引了大批年轻人涌入,需求减少,人口增加,内卷现象随之出现。
除了这一点,还有一个重要原因是技术变得廉价。是的,技术逐渐变得越来越廉价,不再是只有多年工作经验的专家才能掌握的高级技能。其中一个重要原因就是开源的力量。
想象一下自己参与的项目中使用了多少开源技术。以典型的后端项目为例,可能涉及到Redis、MySQL、ElasticSearch、Kafka、RabbitMQ、Nginx、Spring Boot、MinIO、Docker等等。程序员所需做的就是根据业务需求,将这些组件组合在一起。通常情况下,使用Nginx进行负载均衡,使用Spring编写后端业务逻辑,Redis用于缓存,MySQL、ElasticSearch和MinIO用于数据存储,而RabbitMQ和Kafka则用作消息队列,最后使用Docker进行部署和运行。
如果没有这些组件,许多公司可能无法正常运营。就拿亿级别的全文检索功能来说,十几年前,如果没有ElasticSearch,几乎没有公司能够胜任这项任务。如今,即便是只有十几个人的小公司,也能处理大数据。这在十几年前是不可想象的。
从2010年左右开始,开源浪潮席卷而来,一大批公司崛起的同时,技术也变得越来越廉价。很多年前,在开源组件还没有如此丰富的时候,构建一个稍微复杂一点的后端架构需要一定的技术实力。企业必须支付高薪聘请多年经验的专业架构师才能胜任。然而,如今,绝大多数功能都可以通过开源组件提供,再加上云计算的兴起,各种服务都上云了,问题变得更简单了。一些中级甚至刚毕业的新人也能够轻松应对一整套后端架构。
开源技术和云计算两大利器一同降低了技术的价格,曾经只有高手才能掌握的技术现在几乎被普通人所使用。一个程序员可能花费数年时间研究一项技术,但一旦有类似的开源项目出现,他的努力瞬间付之东流。
可以说,程序员自己埋下了自己的祸根。
如今,大型模型的浪潮再次涌现,各种AI代码编写工具层出不穷。再过几轮迭代,程序员最终可能会被取代。
回到这个问题上来,为什么其他行业没有出现类似的情况呢?
轩辕认为,最根本的原因在于IT行业的特殊性,即产出可迭代的产品。程序员的产出就是软件代码,而这个东西可以不断地迭代更新。
一群天才程序员聚在一起,开发出了一项伟大的产品,并将其开源,瞬间让全世界的程序员都站在巨人的肩膀上。这样的事情不断发生,结果就是有技术含量的东西几乎都被人们开发出来了,后来者只需站在无数巨人的肩膀上,从事低技术含量的工作。
相反地,前文提到的医生行业则属于典型的"低可迭代性"行业。多年来医生所积累的经验无法完全传授给学生。假如有一天,医生毕生积累的知识可以全面数字化,并以类似于“开源”的方式贡献给全世界,那么全球所有的医生都能站在巨人的肩膀上。如果能实现这一点,医生行业可能也会像程序员行业一样发生变革。
那么,程序员应该如何突破这个局面呢?
了解了以上原因后,我们可以有针对性地进行调整。软件代码等技术可以不断迭代更新,但有些东西是无法复制和迭代的,比如沟通协调能力、问题解决能力、规划组织能力、管理能力和人脉资源等软实力。