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

变迁

如果云时代如我们今天所设想的那般,云计算如水电气一般成为互联网的基础设施,无所不在般的到来,那这的确又是一个巨大的技术时代变迁,而感觉上一次我所经历的技术变迁是从传统的 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 工作价值的巨流河。而我现在所能看到的是进入云时代后,业务开发的程序员最大的核心价值恐怕就是需要在这样一条巨流河上建立桥梁。面向业务开发的技术人员需要去看清、理解业务的价值链条,并在这个链条上嵌入展现技术的价值。

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

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

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


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

云时代,程序员将面临的分化相关推荐

  1. 数据时代程序员必备技能:数据可视化

    说到数据可视化,大家可谓耳熟能详,设计师.数据分析师.数据科学家等,都用各种方式各种途径做着数据可视化的工作......实际上,我们每一个人,天生具有可视化思维,甚至经常性地做一些可视化操作. 比如, ...

  2. 程序员加班面临的问题

    关注+星标公众号,不错过精彩内容 编排 | strongerHuang 微信公众号 | 嵌入式专栏 在外行看来,程序员工资很高,不得不承认,程序员这一行相对其他大部分行业的平均工资要高. 但是程序员高 ...

  3. Boostnote+坚果云:程序员的^表白^代码管理神器

    Boostnote+坚果云:程序员的^表白^代码管理神器 作者:痴澳超 Boostnote+坚果云:程序员的^表白^代码管理神器 1. 更改语言选项 2. 配置坚果云同步 3. 新建笔记分组 4. 新 ...

  4. 日薪 10000 元!阿里云招聘程序员鼓励师

    点击上方"民工哥技术之路"选择"星标" 每天10点为你分享不一样的干货 阿里云招聘程序员鼓励师 日薪 10000 元哦! 快来看看,是什么要求? 你报名不??哈 ...

  5. 自然语言成了编程语言,不会写 Prompt 的程序员会面临失业吗?

    作者 | 王启隆 出品 | CSDN(ID:CSDNnews) 如果让一个活在 18 世纪的人看看今天的世界,他会被现代科技的伟大所震慑,沉醉于未来社会的梦幻:但如果让一个 15 世纪的人去看看 18 ...

  6. GPU硬件知识和基础概念 : AI时代程序员都应该了解的GPU基础知识

    金融建模.自动驾驶.智能机器人.新材料发现.脑神经科学.医学影像分析-人工智能时代的科学研究极度依赖计算力的支持.提供算力的各家硬件芯片厂商中,最抢镜的当属英伟达Nvidia了.这家做显卡起家的芯片公 ...

  7. 谷歌、Facebook 大规模宕机!“裸奔时代”程序员该怎么办?

    运行不稳定,宕机两行泪. 作者 | 阿木 责编 | 郭芮 3月13日,大量用户反馈Google云服务器出现异常,此次异常波及大量知名产品,如Gmail.YouTube.Google Drive等,普通 ...

  8. 新时代程序员主流开发工具一览

    分享一些优秀的写代码工具和使用感受 大家好,我是鱼皮. 俗话说的好:工欲善其事,必先利其器.一款好的开发工具对程序员来说是至关重要的,可以降低开发成本.提高开发的效率和代码质量. 所以今天分享一些主流 ...

  9. 程序员新人面临最尴尬的事:需要工作积累经验,需要有经验才能找到工作!到底怎么办?...

    你需要一份工作来积累经验,但你需要有经验才能找到工作-- 大学刚毕业,或者转换职业方向后新入一个职场领域,你会发现求职之路举步维艰.大多数的公司职位都要求工作经验,单这一点就足以将你拒之门外. 前几天 ...

最新文章

  1. android学习笔记之十服务(Service)
  2. 【青少年编程】【三级】病毒传染模拟程序
  3. Tomaso Poggio:深度学习需要从炼金术走向化学
  4. Python-爬取中国天气网天气并通过邮箱定时发送
  5. go thrift demo
  6. HDU 4135 Co-prime 容斥原理
  7. mysql getcolumnname_jdbc-mysql基础 ResultSetMetaData getColumnName getColumnLabel 得到列的名字和别名...
  8. lambda函数,函数符_为什么您永远不应该在Lambda函数中使用print()
  9. C小项目 —— 学生选课系统
  10. Linux C 语言 Socket 通信(多对多)多线程实现
  11. 滑动验证码最简单案例:破解qq空间(豆瓣网)滑块验证码(python+selenium实现)
  12. 最小二乘法的思路及推导过程
  13. 估值模型不适用_揭开市盈率估值法的真正面纱 | 实战案例系列
  14. Mac电脑Android模拟器连不上网,mac 解决安卓模拟器链接不上网络
  15. JAVA实现Tom猫
  16. postgresql: the application server could not be contacted --2020-11-17
  17. 想改变Facebook? 先改变扎克伯格!
  18. 使用CMSTP绕过AppLocker
  19. 第二章 03 藤蔓生长
  20. 又一新框架 | 无监督图像转换任务新境界(附论文代码)

热门文章

  1. 【Jetpack篇】LiveData取代EventBus,安卓面试项目
  2. Nginx 无法重启报错 Starting nginx
  3. Sheldon Cooper
  4. 如何使用Flask和Heroku在Facebook Messenger上创建ChatBot
  5. 数据库开发-8-并发处理
  6. JS Object 对象中删除属性
  7. 菜鸟网络与顺丰达成和解 确保数据安全进行合作
  8. [luogu] P2345 MooFest G 树状数组
  9. php医疗管理系统(医院患者就诊档案管理系统)源码
  10. 软通动力-Java初级