技术进步和程序员的黄昏

  上个月了解了一些最近比较新的技术,例如深度学习和新一代微服务ServiceMesh。这半年转岗业务团队参考别人的SAAS设计,我自己也设计了一版SAAS化的消息中台。虽然最后没有被采纳,但是也改变了我以前对技术的一贯看法。对技术我以前是有着狂热的激情,不管工作中有没有实际用到,反正只要身边的人有人学了我不会的新技术,我都会去讨教利用空闲时间去学习,虽然掌握都不深,但是每学会一个新东西我都会感觉很满足。在我以前的世界里,是技术主导一切,最近这些天我还就真正好好反省了一下,以前的一些观念或许错了。
  以前总觉得业务没有含量,一门心思研究技术,想做点有技术含量的事情,因此这些年工作基本集中在基础框架中间件和大数据相关领域。这段时间转岗业务团队,发现自己空有一身技术,有时和产品聊需求和开发聊业务很多业务术语不知道。特别是最近这一年多深入了解容器云和DevOps,越来越觉得走纯技术路线会越来越窄。像中间件这些活会越来越成为专业精英的特权,很多像我这样的会掉下阵来。
  早期我就很羡慕那些运维人员,脚本语句和很多运维工具玩的很熟。但是随着云计算的出现,这会让以前会玩那么多工具的运维人员被淘汰,只需要少量的运维人员就能保障公司需求了。以前学的一切都没有任何意义了,也就是新技术不仅淘汰了一批人,还淘汰了一批旧技术。如果稍微学习速度慢一点,运维人员就真的可能失业。能参与到云计算领域研发的人少之又少,大部分人只能利用云计算平台做一些日常运维,以后的运维人员会和今天的打字员没有任何区别。
  SaaS的进一步发展也会淘汰很多程序员。以前传统行业如果要做互联网+,就得组建自己的互联网研发团队。有了SaaS服务之后,这些公司就可以不用组建IT团队了,只需要一些日常的运营人员就可以满足公司的日常需求。当厉害的软件公司从卖单机软件到转向SAAS服务,从提供平台到提供基于平台的SAAS服务,自建研发团队已经没有多少空间了。
  IT技术的发展让分工越来越细,关于这方面我是有明显的感受。以前开发哪里分前端后端,基本都是全栈工程师。为了提高开发效率,现在的前后端分离让人越来越细化,越来越需要将技术专家和项目管理分开设岗,CTO也从超级程序员变得越来越偏向超级项管。
  以后大部分技术人员会转向业务领域,用技术实现业务。能深度参与到纯技术领域的会越来越少。从AI领域这种趋势看的特别明显,现在能小学生都会写模型。如果你深入了解AI背后的数学原理,你会发现AI还是有很高的门槛,入门容易深入难。随着深度学习算法的类库发展,这些类库掩盖了内部的复杂性。现在基本一个小学生就可以利用模型构建工具设计出可用的二分类模型,根本不用关心模型背后的原理。只有极少数的专家,能深入模型最深处,用数值分析和理论证明给出严谨的回答,为什么参数这样设置更合理?大部分人达不到这种程度,只能利用这些少数专家开发的模型,结合业务实践调调模型参数。但是随着AI的发展,以后估计调参都不要人去干预了,机器自己就能干。最近也听到一些搞机器学习算法的人抱怨职业瓶颈了,虽然目前AI薪资还可以,但是这碗饭也难端,背后也有不为人知的难处。
  
  未来互联网+会成为标配,但对程序员的岗位需求却会大幅下降。程序员会越来越只给精英们机会,它将再也不是草根求得高薪的宝地。市场不再需要码农,这是程序员的黄昏,也是程序员的新生 —— 成为技术专家,要么成为有技术基因的商业复合性人才。

坚持原创技术分享,您的支持将鼓励我继续创作!