云时代,程序员将面临的分化

曾经翻译了一篇文章《如今云战争(真的)开始了》 最后埋了个坑,说要写写云时代到来后程序员该何去何从?时间倏一下就过去了两个月,要是再不及时填坑,久了可能就忘了。程序员

变迁

若是云时代如咱们今天所设想的那般,云计算如水电气通常成为互联网的基础设施,无所不在般的到来,那这的确又是一个巨大的技术时代变迁,而感受上一次我所经历的技术变迁是从传统的 IT 到互联网。编程

和别的行业不一样,成为程序员不只须要持续保持学习,更重要的是保持足够快速的学习和适应能力。IT 技术的变化发展彷佛就像一列火车,它按本身的时刻表轰隆隆向前,你只能按它的节奏和速度去乘车,并跟随它向前奔行。后端

从我我的接触的第一门编程语言 BASIC 算起,差很少有二十年了,我发现我每一次更换主编程语言彷佛都对应着技术变迁。BASIC 算是我中学阶段的编程启蒙语言,后来到大学后开始学习 C 语言,但大学快毕业参加实习时,发现市场上须要更多使用相似 PB、Delphi 这类拖拽式集成开发工具来开发企业 C/S 应用,那时正是 C/S 应用的红火年代。微信

再后来实习完后我没去工做,考了研究生。两年后,进入银行作金融交易类系统,那时用的一种比较特殊的能够嵌入 SQL 语句的 C 语言,好像叫 Pro C(假如没记错的话)来作后端服务程序。不过当时技术的发展变化是 B/S 结构开始逐步取代 C/S 结构的程序,Java 的 J2EE 有些开始侧漏出王霸之气,不断攻城略地,当时另外一家国有大行已经开始逐步用 Java 来取代 C 实现交易系统。那时不少技术人员都在怀疑 Java 的性能是否能支持这么大交易量的系统,现在想必你们都不会有相似的顾虑了,而去年双十一支付宝已经登顶全球最高并发的金融交易系统了。并发

而从进入研究生开始我就一直自学 Java,虽然工做头一年维护和编写了很多 Pro C 的程序。一年后,我跳槽了,换到了电信行业,作运营支撑系统,今后一直使用 Java 做为主编程语言到如今。在此期间为了作 Web 开发也用过 Javascript,几年前移动互联网火起来时,还看过一下 iOS 的 Objective-C,但没多久苹果推出了 Swift,以为仍是专一点好,就放弃了。期间后端语言比较有亮点的是 Google 的 Go 语言,但也就是刚出时了解了一下,一直保持观望。现在倒是想明白了,虽然程序语言常常推陈出新,表明了一些技术潮流的趋势,但并不重要,也不须要随时保持跟进。必定时期内你只须要精通一门主流语言,何谓主流去 TIOBE 看看排名就知道了,结合你的实际工做环境需求在一门主流语言上作到精通。编程语言

若是云时代到来是否意味着咱们编程开发模式的完全变化?其实我如今已经不畏惧这个了,对于一个跟得上学习节奏要求的程序员来讲,任何语言或开发模式的变化将来你均可以快速的学会。有时候咱们感受技术变迁眼花缭乱,彷佛跟不上了,一些新东西新名词彻底没据说过,这太正常了。环境天天都在变化,虽然咱们须要快速的技术变迁适应性,但并非随时随地的适应性。分布式

有一种动物叫蝾螈,这个物种的历史可够悠久的了,是侏罗纪中期演化的两栖类中的一类。高并发

这种生物适应能力太强了:把它放在没有光线的地方,两天以内它就可能把眼睛退化掉;若是再把它拿到有光线的地方,两天以内它就会长出眼睛;把它扔到水里它就退化掉肺长出鳃,把它捞出来放到陆地上它就退化掉鳃长出肺。工具

这种生物虽然拥有强大的环境适应能力,从侏罗纪到如今有一两亿年了,但并没所以向更高阶进化,只是在原地变来变去,最终沦为了人类科学家的玩具。因此程序员不须要像蝾螈这样极速非凡的适应变化能力,对环境的变化反应敏感过分。性能

面对技术变迁,程序员的有效适应性,是有意识的选择与坚持。

价值

云时代,云计算成为了水电气般的基础设施,必然带来程序员的进一步分化。今天咱们面临的不少分布式问题,都由基础设施提供的各种服务给解决或屏蔽了。就像今天咱们开发程序也利用了不少操做系统提供的能力,而操做系统或虚拟机或容器是如今咱们依赖的基础设施。

目前像提供操做系统这类基础设施的公司并不会多,因此极可能将来留存下来的能提供云基础设施的公司也不会多。而大部分的基础技术问题都将由提供云基础设施的公司来解决,因此今天纠结于作纯技术开发仍是业务开发的同窗,在云时代必然面临明确的选择分化。

云时代的云公司,它们的核心业务和面临的问题就是今天这些纯粹的技术问题,除了要可以解决并封装成服务,还须要不断的下降成本和优化效率,而在云上的下降成本和优化效率这是真正意义上的技术价值的直接体现。亚玛逊可以连续 44 次降价来阻止竞争对手进入,正是技术综合实力的体现,将来必然只有少数云公司可以把提供服务的成本控制在自由市场竞争的价格之下,而一心追求技术之巅的程序员选择进入这样少数的云公司将成为必然。

而另外一部分对业务更感兴趣的程序员,更喜欢作业务开发,他们的价值又该如何体现?云公司封装了业务开发面临的核心技术难度,面向云开发已经成为绝大部分初创公司的选择,那么是否意味着面向云的业务开发程序员的价值将会降低?

前段时间看了一篇文章《IT人的巨流河》,这是一条如何向业务证实 IT 工做价值的巨流河。而我如今所能看到的是进入云时代后,业务开发的程序员最大的核心价值恐怕就是须要在这样一条巨流河上创建桥梁。面向业务开发的技术人员须要去看清、理解业务的价值链条,并在这个链条上嵌入展示技术的价值。

若是说,云时代的云公司们提供的基础设施和技术服务将是一辆车的发动机,那么面向业务开发的程序员其实提供的就是变速箱。将来可供选择的发动机可能很少,那么车辆差别化能力的变速箱却是很关键了。(好吧,其实我对汽车原理并不熟,不知道这么比喻是否恰当)

无能怎样变化,看清并抓紧整个价值链条的一环才能避免完全的被边缘化。

...

蒸蒸日上的行业或公司,就像一辆刚提的新车,若你不过是在其中干着空滤的活,尚未点危机感么?


写点文字,画点画儿。
微信公众号「瞬息之间」,碰见了不妨就关注看看。

相关文章
相关标签/搜索