本文作者:张海龙,CODING 创始人兼 CEO
程序员日常的职业焦虑碰到 19 年初的裁员浪潮,恐慌被放大了数倍。这两天网易又爆出裁掉了一千多人,被裁员的焦虑笼罩着行业内的每一个人。我倒觉得适当的焦虑是好事,生于忧患嘛,迫使你从日常的工作中脱离出来做一些思考。
之前对云计算行业的未来做了一些分析,后台有人问我:就开发者个人来说,未来十年需要怎样维护自己的职业竞争力。想了想内容很多,这里通过几个趋势给大家一些方向上的建议。
“No Code”会抢走程序员的饭碗吗?
通过不使用或者尽量少的代码来完成项目的开发模式被称为“No Code”。从最初的拖拽式建站工具到模块化的服务,大量减少了企业的开发负担和代码量。
那“No Code”的趋势会对程序员群体产生什么样的影响?
代码熟练工群体将会消失,我们常常戏称的“搬砖”岗位将会越来越少。未来工具的成熟会取代大量对熟练度有需求的工作岗位,就像 ETC 取代高速公路收费员一样。
同时在某些标准化场景下,经验型的知识会迅速贬值,商业的力量会将所有的通用型经验包装成产品。
在这样的情况下,开发者们应该如何进行职业规划呢?
NetFlix 全周期型程序员理念
NetFlix 提出了全周期型程序员的概念,简单来说就是把研发分成了两个部分,一部分人专门负责针对各个环节进行深入的研究和工具的开发,而另一部分人则以个人为单位,运用这些工具做出产品。
这是一种全新的研发组织架构,原来的流水线是每人负责一小块,涉及大量的协作工作。而在这种架构中,开发者一个人负责需求实现的全部,需要什么零件,到对应的仓库找,需要设备就找对应的设备进行加工,如果碰上特别复杂的问题可以找专家组解决。这样能更少的依赖其他人进行工作,减少结构性的加班。
NetFlix 的架构是建立在强大的基础设施能力和阶梯式人才储备上的,一般企业很难有如此完整的配置。不过现在流行的微服务化、组件化等趋势也逐渐在小公司兴起,这也是全周期型程序员理念的体现。
开发者们将何去何从?
在我看来,未来十年全周期型程序员的理念将越来越盛行,这意味着未来程序员人群的两极分化将愈发严重,其中两种人将最吃香:
一是深耕于某一领域的专家型程序员,主要工作是定义各种工具组件,这样的人主要会就职于超级大厂或者工具供应商。
二则是对软件设计有深入理解并能解读实际业务需求的业务型程序员。这类工程师将会服务于各个企业,解决实际业务需求。
其中,对业务型程序员的市场需求将占据 95% 以上,云时代,想成为一个优秀的业务型程序员需要具备以下能力:
工具思维
随着工具的成熟,对工作熟练度的要求降低后,对工具的选择和能否快速适应新的工具将成为优秀业务型程序员的主要判断标准。工欲善其事,必先利其器,一个优秀的业务型程序员需要主动去了解新的工具和产品,拓宽自己的视野,避免手中只有锤子所以看啥都觉得是钉子的情况。
但工具思维并不仅仅是了解最新的工具,而是要在有足够信息的情况下选择最合适的解决方案。很多时候最合适的解决方案恰恰是最土的解决方案而不是最新的。每个项目开始之前需要做好技术选型,合理利用各类工具,将效能最大化。
快速学习的能力
对于业务型程序员来说,无论是面对需求还是市面上日益增多的工具和产品,都需要快速抓住核心,理清脉络。同时为了避免成为 API 工程师,一个优秀的业务型程序员需要再放一些精力在“术”的维度上,比如如何根据业务需求来选择业务模式、了解持续集成 / DevOps 等方法论的真正意义。
对业务的深入了解
从公司角度来说,大部分公司都是以盈利为目的的,随着大量共性的工作逐步被工具替代,解放了劳动力,企业更聚焦于核心业务模块。这也意味着,除非立志于成为专家型程序员,你或多或少都要开始了解公司的核心业务,从全局视角做开发,尽可能去了解趋势、行业和公司业务,做到知其然还知其所以然,也能为之后的岗位转型做准备。
软件开发的前十年,伴随着开发方式的转变和技术爆发,程序员面临着巨大的技术焦虑,未来十年,软件开发组织形式可能也会发生一系列的变化。阿里说“拥抱变化”,把握住变化带来的机会会让开发者们更轻松,更高效的获取收入。
“若不抽出时间创造自己想要的生活,你最终将不得不花大量时间应付自己不想要的生活。”——Thucydides
Reference:
https://medium.com/@rrhoover/…
https://medium.com/netflix-te…