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