美政府部分部門系統(tǒng)老化,相關(guān)程序員很多早就退休了
據(jù)國外媒體報(bào)道,新冠病毒疫情暴露了美國一些部門計(jì)算機(jī)系統(tǒng)老化、難以更新的問題,它們也缺乏專家人才來解決這些問題。政府向數(shù)百萬新失業(yè)人口發(fā)放數(shù)十億美元經(jīng)濟(jì)救助的行動(dòng),因?yàn)橐环N有60年歷史的古老編程語言而受到延緩。
美國政府3月底通過了2.2萬億美元救助法案,當(dāng)中包括每周增加600美元的失業(yè)救濟(jì)金。但在國家機(jī)構(gòu)更新技術(shù)系統(tǒng)來落實(shí)法案并處理大量涌現(xiàn)的新申請之前,這筆錢不會(huì)落到任何人手里。
俄克拉何馬州正試圖盡快落實(shí)救助法案,但是一些失業(yè)救助申請目前需要長達(dá)兩周的時(shí)間來處理,因?yàn)檎拇笮陀?jì)算機(jī)是運(yùn)行在一種有60年歷史的被稱為COBOL的編程語言上。
俄克拉荷馬州就業(yè)安全委員會(huì)執(zhí)行主任羅賓·羅伯森(Robin Roberson)說,“這是救助法案實(shí)施過程中最大的問題。我們的大型主機(jī)已經(jīng)有30多年的歷史了。它很難編程,它做不了什么。而且COBOL程序員有些稀缺?!?/p>
9個(gè)星期前,羅伯森開始上任,任務(wù)之一是升級(jí)這個(gè)系統(tǒng),但是還沒取得任何實(shí)際進(jìn)展,疫情便襲來。她說,俄克拉何馬州的其它政府機(jī)構(gòu)以及其它地區(qū)也面臨著類似的問題。
康涅狄格州勞工部告訴人們要有耐心,它正在與專家們合作更新COBOL代碼來實(shí)施政府救助計(jì)劃。本月早些時(shí)候,新澤西州州長菲爾·墨菲(Phil Murphy)也呼吁COBOL程序員來幫助處理該州的計(jì)算機(jī)問題。
人才短缺
多年來,COBOL人才短缺的狀況一直在加劇,原因包括科技行業(yè)的勢利、正規(guī)培訓(xùn)有限、專家隊(duì)伍老化、雇主不愿給這種稀缺人才提供優(yōu)厚薪酬等等。
“這是一場災(zāi)難?!?5歲的馬哈茂德·埃澤爾丁(Mahmoud Ezzeldin)說。他在保險(xiǎn)公司藍(lán)十字藍(lán)盾和美國國稅局從事COBOL計(jì)算機(jī)系統(tǒng)工作有幾十年的時(shí)間。“COBOL很難學(xué),而且不是專為互聯(lián)網(wǎng)設(shè)計(jì)的。大學(xué)畢業(yè)生喜歡學(xué)一些簡單的東西,我不能責(zé)怪他們?!?/p>
埃澤爾丁住在華盛頓特區(qū)附近,他愿意義務(wù)幫助緩解此次COBOL難題。值得一提的是,他已經(jīng)退休了。據(jù)市場研究公司Gartner估計(jì),COBOL程序員的平均年齡超過60歲。它在2004年進(jìn)行統(tǒng)計(jì)時(shí)發(fā)現(xiàn)該編程語言有200萬專家,估計(jì)這個(gè)數(shù)字每年下降5%。相比之下,據(jù)瑞銀(UBS)的數(shù)據(jù),軟件開發(fā)者總數(shù)約為2500萬。
通常,當(dāng)一種編程語言的需求超過了稱職的程序員的供應(yīng)時(shí),科技行業(yè)就會(huì)相應(yīng)做出調(diào)整。近年來,大學(xué)里的計(jì)算機(jī)科學(xué)課程增加了很多,市面上也開設(shè)了不少的編程訓(xùn)練營,意在快速培訓(xùn)人們學(xué)習(xí)使用Java、Python和其他的語言。但是COBOL的情況不一樣。
COBOL出現(xiàn)于1950年代末,當(dāng)時(shí)高校還沒有開設(shè)計(jì)算機(jī)科學(xué)課程。由于沒有學(xué)術(shù)界的支持,許多COBOL程序員是在政府機(jī)構(gòu)以及保險(xiǎn)、銀行和航班預(yù)訂等領(lǐng)域的工作中學(xué)習(xí)這門編程語言的。他們被視作科技行業(yè)的藍(lán)領(lǐng)工人。
“我真的不建議現(xiàn)在的學(xué)生學(xué)習(xí)COBOL。所有的相關(guān)工作都是維護(hù)什么的,沒什么吸引力?!彼固垢4髮W(xué)退休教授吉?dú)W·維德霍爾德(Gio Wiederhold)說道。斯坦福大學(xué)培養(yǎng)了大量的計(jì)算機(jī)科學(xué)家,他們畢業(yè)以后很多都到蘋果、Facebook、谷歌等硅谷科技巨頭工作。維德霍爾德說,自從1979年到了斯坦福大學(xué)以后,他就再也沒有教過COBOL。
去年,在一份敦促多個(gè)機(jī)構(gòu)將重要的舊式技術(shù)現(xiàn)代化的報(bào)告中,美國政府問責(zé)局26次提及COBOL。
HP Marin Group公司首席技術(shù)官菲爾·特普利茨基(Phil Teplitzky)說,目前仍有多達(dá)2400億行COBOL代碼在使用。該公司致力于幫助企業(yè)更好地利用舊式計(jì)算系統(tǒng)。
幾乎沒有什么文檔記載解釋這些系統(tǒng)是如何在幾十年前建立起來的,因此政府機(jī)構(gòu)和企業(yè)常常依賴于程序員去記住它們是如何做成的——特普利茨基稱COBOL是“民間傳說”。他說,許多COBOL專家已經(jīng)不在人世了,但現(xiàn)在的救助法案需要對代碼進(jìn)行重大修改,很少人懂得怎么做。
“意大利面條式代碼”
COBOL代碼是以舊式方式編寫,這讓它也難以更新?,F(xiàn)代計(jì)算語言把程序分成若干塊,每一塊都有特定的用途。而COBOL程序員往往是將所有的東西編織在一起,這意味著更改某一部分的代碼會(huì)破壞或禁用程序的其他部分。這種現(xiàn)象被稱為“意大利面條式代碼”,這是該語言最大的一個(gè)難題。它也讓編程工作變得非常艱難,非常耗時(shí)。
運(yùn)行COBOL的大型計(jì)算機(jī)大多數(shù)是由IBM生產(chǎn)的。多年來,該公司一直在幫助客戶尋找COBOL專家,也在努力說服新的受訓(xùn)人員接手相關(guān)工作。上周,它宣布了一個(gè)新的培訓(xùn)課程,向初學(xué)者教授COBOL,并讓有經(jīng)驗(yàn)的專業(yè)人士重新學(xué)習(xí)。
“人們開始注意到這樣一個(gè)事實(shí),即有些關(guān)鍵的計(jì)算系統(tǒng)可能沒有得到關(guān)注?!?IBM副總裁巴里·貝克(Barry Baker)表示,“這是一次推銷COBOL和老式技術(shù)的機(jī)會(huì),可以借此來教導(dǎo)孩子們從事一些很有意義的事情?!?/p>
Gartner分析師托馬斯·克利內(nèi)克特(Thomas Klinect)認(rèn)為,在招募人員來維持這些機(jī)器的運(yùn)行上,公司和其他組織機(jī)構(gòu)必須拿出更多的誠意。當(dāng)中包括提高薪酬。
“看那些招聘信息,你會(huì)發(fā)現(xiàn)它們都是些初級(jí)職位,但要求有20年的工作經(jīng)驗(yàn)?!彼f道,“雇主只想付給你3.5萬美元的年薪?!?/p>
現(xiàn)年53歲的思科首席執(zhí)行官查克·羅賓斯(Chuck Robbins)說,他剛出來工作時(shí)就是在美國銀行的前身意大利銀行做COBOL程序員。
“值得高興的是,我記得,COBOL并不是那種難度很大的編程語言,”他說,“我相信有些年輕人能學(xué)懂。”