03月05日
逃离裁员:程序员在云时代的生存之道

本文作者:张海龙,CODING 创始人兼 CEO

程序员日常的职业焦虑碰到 19 年初的裁员浪潮,恐慌被放大了数倍。这两天网易又爆出裁掉了一千多人,被裁员的焦虑笼罩着行业内的每一个人。我倒觉得适当的焦虑是好事,生于忧患嘛,迫使你从日常的工作中脱离出来做一些思考。

之前对云计算行业的未来做了一些分析,后台有人问我:就开发者个人来说,未来十年需要怎样维护自己的职业竞争力。想了想内容很多,这里通过几个趋势给大家一些方向上的建议。


“No Code”会抢走程序员的饭碗吗?

通过不使用或者尽量少的代码来完成项目的开发模式被称为“No Code”。从最初的拖拽式建站工具到模块化的服务,大量减少了企业的开发负担和代码量。

图片

那 “No Code”的趋势会对程序员群体产生什么样的影响?

代码熟练工群体将会消失,我们常常戏称的“搬砖”岗位将会越来越少。未来工具的成熟会取代大量对熟练度有需求的工作岗位,就像 ETC 取代高速公路收费员一样。

同时在某些标准化场景下,经验型的知识会迅速贬值,商业的力量会将所有的通用型经验包装成产品。

在这样的情况下,开发者们应该如何进行职业规划呢?


NetFlix 全周期型程序员理念

NetFlix 提出了 全周期型程序员 的概念,简单来说就是把研发分成了两个部分,一部分人专门负责针对各个环节进行深入的研究和工具的开发,而另一部分人则以个人为单位,运用这些工具做出产品。

图片

这是一种全新的研发组织架构,原来的流水线是每人负责一小块,涉及大量的协作工作。而在这种架构中,开发者一个人负责需求实现的全部,需要什么零件,到对应的仓库找,需要设备就找对应的设备进行加工,如果碰上特别复杂的问题可以找专家组解决。这样能更少的依赖其他人进行工作,减少结构性的加班。

NetFlix 的架构是建立在强大的基础设施能力和阶梯式人才储备上的,一般企业很难有如此完整的配置。不过现在流行的微服务化、组件化等趋势也逐渐在小公司兴起,这也是全周期型程序员理念的体现。


开发者们将何去何从?

在我看来,未来十年全周期型程序员的理念将越来越盛行,这意味着未来程序员人群的两极分化将愈发严重,其中两种人将最吃香:

一是深耕于某一领域的 专家型程序员 ,主要工作是定义各种工具组件,这样的人主要会就职于超级大厂或者工具供应商。

二则是对软件设计有深入理解并能解读实际业务需求的 业务型程序员 。这类工程师将会服务于各个企业,解决实际业务需求。

其中,对业务型程序员的市场需求将占据 95% 以上,云时代,想成为一个优秀的业务型程序员需要具备以下能力:

  • 工具思维
    随着工具的成熟,对工作熟练度的要求降低后, 对工具的选择和能否快速适应新的工具 将成为优秀业务型程序员的主要判断标准。工欲善其事,必先利其器,一个优秀的业务型程序员需要主动去了解新的工具和产品,拓宽自己的视野,避免手中只有锤子所以看啥都觉得是钉子的情况。
    但工具思维并不仅仅是了解最新的工具,而是要在**有足够信息的情况下选择最合适的解决方案**。很多时候最合适的解决方案恰恰是最土的解决方案而不是最新的。每个项目开始之前需要做好技术选型,合理利用各类工具,将效能最大化。
  • 快速学习的能力
    对于业务型程序员来说,无论是面对需求还是市面上日益增多的工具和产品,都需要 快速抓住核心,理清脉络 。同时为了避免成为 API 工程师,一个优秀的业务型程序员需要再放一些精力在“术”的维度上,比如如何根据业务需求来选择业务模式、了解持续集成/ DevOps 等方法论的真正意义。

  • 对业务的深入了解
    从公司角度来说,大部分公司都是以盈利为目的的,随着大量共性的工作逐步被工具替代,解放了劳动力,企业更聚焦于核心业务模块。这也意味着,除非立志于成为专家型程序员,你或多或少都要开始了解公司的核心业务, 从全局视角做开发,尽可能去了解趋势、行业和公司业务 ,做到知其然还知其所以然,也能为之后的岗位转型做准备。

图片

软件开发的前十年,伴随着开发方式的转变和技术爆发,程序员面临着巨大的技术焦虑,未来十年,软件开发组织形式可能也会发生一系列的变化。阿里说“拥抱变化”,把握住变化带来的机会会让开发者们更轻松,更高效的获取收入。

“若不抽出时间创造自己想要的生活,你最终将不得不花大量时间应付自己不想要的生活。”

——Thucydides

Reference:

https://medium.com/@rrhoover/the-rise-of-no-code-e733d7c0944d

https://medium.com/netflix-techblog/full-cycle-developers-at-netflix-a08c31f83249

zhlmmc1000