凯特琳是美国一个计算机专业的大学生,今年刚毕业,得找点活干。原本以为疫情工作不好找,但没想到面试时,老板还吵着要给她一个薪水更高的职位。
原因很简单,就是她的求职简历上写了一个技能:COBOL 编程语言。这不是个例。近两年你在美国人才市场一站,说一句老子会 COBOL 语言,那HR 抢着给你散华子,老板再冲过来点上。
据 Stack Overflow 统计,去年美国 COBOL 程序员的平均工资涨了 44%,达到了年薪 76000 美元,虽然不算顶尖,但这涨幅实在夸张。
可能年轻点的差友只听过 Java、Python,这 COBOL 语言是啥玩意,这么火?
说起来 COBOL 是个 60 后,岁数跟你爸差不多。大家主要用它来编写能处理大量数据的系统。像很多政府统计救助金的系统、保险公司计算赔偿金的系统,都是 COBOL 编写的。
因为出的很早,还比较稳定,至今还有 43% 的银行用着 COBOL 系统,95% 的 ATM 交易,80% 的面对面交易,也都靠 COBOL 代码运行的。
那既然服役这么多年,用的机构这么多,会写 COBOL 的人应该不少啊,为啥还会被抢着要?真实情况恰恰相反。现在会 COBOL 的程序员,可能比你头上的毛都少。这倒不是因为它难学,当初设计 COBOL 时,大家就想把它往简单的整,让每个人能看懂。所以 COBOL 语法几乎接近英语语法。
你想加数字,就敲“ ADD Num1, Num2 GIVING Result ”想运行 3 次计算,敲“ PERFORM 3 TIMES ”
嗯,大伙儿是看懂了,但程序员累死了,写代码跟写小说一样谁顶得住。曾经就有一个计算机专家怒喷 COBOL,说它会让人脑子秀逗。
除了语法太长外,COBOL 还只能做加减乘除,无法科学计算,换句话说,它只在特定行业有用,出去了就啥也不是。代码难敲,路子还窄,自然学 COBOL 的人就越来越少。随着老一批程序员退休,很多机构才发现怎么招不到人了。
那系统出问题了,总不能不管吧,只能硬着头皮把那些四五十的程序员请回来。COBOL 开发者年龄( 2006 年数据 )▼
比如 2012 年,有个 50多岁程序员被银行炒了。结果 2 年后,那家银行打了电话过来,请他回去修一修系统,因为招的那些新人没一个会的。还有一个 73 岁老爷子07 年从银行退休了,2020年收到电话,对方支支吾吾让他去更新代码。
COBOL 市场需求有多高呢。这么说吧,之前有个 7 旬程序员成立了一家叫“ COBOL 牛仔 ”公司,带着一批五六十的员工,专门帮人解决 COBOL 故障。
尽管年龄摆在职场上全是劣势,但他们时薪高达 100 美元。
嫌贵?你能找到别人么。前两年疫情爆发,美国失业人数暴增,3 星期不到就有 1700 万人申请失业补助,几十年的 COBOL 老系统没两天就干出毛病了。因为找不到人,很多州无奈公开喊话,请求 COBOL 开发人员支援。
看到这你可能会问,这些机构干啥不用 Java 啥的重写一套系统呢,非得整 COBOL。大家也不是没考虑过。2012年,澳洲联邦银行就请了 2 家公司帮忙重新编写下平台。最终耗时 5 年,花了 7.5 亿美金,把 7500 万行 COBOL代码转换过来。纽约时报也重写过自己的报纸分发系统,开销也比预期多得多。
所以光是成本,很多公司就被劝退了。
另外,大家也没有其他太好的选择来换掉 COBOL 系统。虽说 COBOL 敲起来麻烦,但人家稳定,不易崩溃,而且业务能力极强。美国有家银行每个月要把 240 万份政府养老金存到每个人账户,20年来,COBOL系统从未发生错误。
你要是花大笔大笔的钱转换,新系统能不能正常用,问题多不多,还不知道呢。于是大家想来想去吧,还是不改了,凑合过过算了。
既然 COBOL 赶不走,就只能让人去了,所以这些年国外做了不少措施。比如 IBM 和 Micro Fouces 就提供了 COBOL 培训机会,有些公司做了奖励机制,如果你大学选修过 COBOL,那毕业后年薪会多 1 万美元。
其实照这么发展下去,只要有机构还在继续用,COBOL 代码就会继续增加,他们更换到其他语言的成本也越高,社会也必须得培养更多的 COBOL 开发人员。
那COBOL 很可能会这么一直活下去。。。戏剧的是,60 年前因为开发各种不顺利,团队有人丧气地买了块墓碑,上面刻着 COBOL。谁能想到这个差点胎死腹中的编程语言,活得或许比它开发人员都久。。。