2030年半數(shù)「碼農(nóng)」將失業(yè),保住飯碗的可能只有COBOL程序員
最新報道稱,到2030年,會有大批軟件開發(fā)人員失業(yè)。AI時代,「搬運工」式的軟件開發(fā),正在面臨淘汰。另一個角度講,自動化工具的逐漸繁榮,讓開發(fā)人員「逃離」無聊重復(fù)勞動的同時也在「自掘墳?zāi)埂埂?/p>
一代人終將老去,總有人正年輕。
還有10年,可能不需要再一行行寫代碼了。軟件開發(fā)者可能會被大批淘汰。
1930年,經(jīng)濟學(xué)家凱恩斯預(yù)測,到本世紀末,我們每周只需要工作15小時就可以保證優(yōu)渥的生活了。但現(xiàn)在來看,這位偉大的經(jīng)濟學(xué)家顯然說錯了。
人類學(xué)家David Graeber曾經(jīng)說過,人類大部分的工作都是Bullshit...
雖然這樣說有些夸張,但事實是,隨著越來越多的流程實現(xiàn)自動化,大多數(shù)工作在某種程度上已經(jīng)過時。
就業(yè)研究報告預(yù)測,到2030年,美國將有近50%的工作崗位實現(xiàn)自動化!
最新報道揭示,到2030年,軟件開發(fā)人員也面臨同樣的局面。如果越來越多的機器可以自己編寫代碼,我們還需要人類做什么?
而到那個時候,「代碼民工」們又將何去何從?
計算機「眼神」很好了,但仍然缺乏同理心
軟件開發(fā)人員本質(zhì)上是邏輯的構(gòu)建者,無論是算法、程序還是項目,都是邏輯的具體體現(xiàn)。
人工智能的興起帶來了工作范式的轉(zhuǎn)變,開發(fā)人員設(shè)計邏輯方面的作用越來越弱化了。相反,他們開始探索這些邏輯的基礎(chǔ)上訓(xùn)練模型。
許多開發(fā)人員已經(jīng)從構(gòu)建邏輯(building logic)轉(zhuǎn)向構(gòu)建思維(building minds)了。
換句話說,越來越多的基礎(chǔ)軟件開發(fā)工作將被替代。
軟件開發(fā)的究極目的就是要提高工作效率,將一些重復(fù)的需要人為干預(yù)的工作自動化,那終極自動化能達到什么程度?
自動化的三個層次:從輔助軟件開發(fā)到系統(tǒng)集成
機器的自動化粗略來看,可以分為三個層次。
首先,自動化可以輔助軟件開發(fā)。一旦機器能夠理解你想要實現(xiàn)的東西,它們可以幫助你完成整個開發(fā)的過程。
如果你曾經(jīng)使用過集成開發(fā)環(huán)境( IDE),就會知道輔助軟件開發(fā)是多么神奇。一旦你習(xí)慣了諸如自動完成或語義代碼搜索之類的功能,會感覺越用越順手。
第二個層次是封閉系統(tǒng)的自動化。比如一個社交媒體app: 它由許多不同的頁面組成,這些頁面相互鏈接。但相對于其他的服務(wù)而言是封閉的系統(tǒng)。
雖然構(gòu)建這樣一個應(yīng)用程序的技術(shù)越來越簡單,因為我們有很多現(xiàn)成的腳手架可用。但還不能說是真正的自動化。現(xiàn)在,如果想要創(chuàng)建動態(tài)頁面、應(yīng)用安全規(guī)則或集成數(shù)據(jù)庫等,還是需要自己編寫代碼。
第三個層次是集成系統(tǒng)。例如,銀行的 API 就是這樣一個系統(tǒng),它是為了與其他服務(wù)通信而構(gòu)建的。然而當前,自動化 ATM 集成、通信、深度安全和復(fù)雜的故障排除幾乎不可能自動化。
計算機視覺很成熟了,但計算機仍然沒有同理心。
當被問及是否會在未來被機器人取代時,大部分軟件開發(fā)及其他可能被AI替代的人員通常不這么認為。
他們的理由很明確: 像創(chuàng)造力、同理心、合作或者批判性思維這樣的東西計算機并不擅長。
但通常,這些東西并非完成一項工作的關(guān)鍵。即使是最復(fù)雜的項目也是由許多可以自動化的小部件組成的。DeepMind 的科學(xué)家Richard Sutton曾經(jīng)這樣說:
研究人員試圖利用他們在這個領(lǐng)域的人類知識,但是從長遠來看,唯一重要的事情是計算。
開發(fā)者一直在「自掘墳?zāi)埂梗坎唬覀兪窃趯ふ倚碌牧餍?/p>
計算機還可以比人類更有效地做兩件事:
第一,在規(guī)模上搞事情。第二,創(chuàng)造全新的流形。
規(guī)?;圆槐卣f。例如,如果你讓計算機打印200次(“我真笨”) ,它會毫無怨言地完成,并在不到一秒內(nèi)迅速完成。如果讓人來完成,就需要等上好一陣了.
流形在數(shù)學(xué)上來看,指的是共享特定性質(zhì)的子空間。舉個例子,如果你拿一張紙,那是三維空間的二維流形。如果你把這張紙揉成一團或者折成一個平面,它仍然是三維空間的一個流形。
事實證明,計算機非常擅長處理人們難以想象的流形,例如,因為它們可以擴展到二十維空間,或者有許多復(fù)雜的節(jié)點和邊的問題。許多日常問題,比如人類語言或計算機代碼,可以用數(shù)學(xué)流形來表示,部署一個更高維的產(chǎn)品將具有普適的價值。
其實開發(fā)者一直在開發(fā)替代自己的工具和軟件。
首先,代碼審查和調(diào)試可能很快就將成為過去時。
瑞士公司 DeepCode 正在開發(fā)一種自動識別錯誤的工具。谷歌DeepMind 已經(jīng)可以為現(xiàn)有代碼推薦更優(yōu)的解決方案。
Facebook的 Aroma 可以自動完成小程序的開發(fā)。
Aroma是Facebook去年推出的代碼智能搜索與推薦工具。通過 Aroma,工程師們現(xiàn)在能夠輕松發(fā)現(xiàn)常見的編碼模式,而不再需要手動瀏覽數(shù)十個代碼段,這將顯著節(jié)約日常開發(fā)工作所耗費的時間與精力。
此外,相似代碼推薦系統(tǒng) MISIM,已經(jīng)聲稱能夠理解計算機代碼,就像 Alexa 或 Siri 理解人類語言一樣。
令人興奮的是,MISIM系統(tǒng)可以處理一些耗時的運維工作,比如將代碼推送到云上的工作自動化。
這些自動化程序在小項目上都能很好地工作,但是在更復(fù)雜的項目上也有點捉急。例如,缺陷識別軟件仍然會返回許多假陽性信息,如果項目有一個全新的目標,AI系統(tǒng)就不起作用了。
像MISIM 這種自動化系統(tǒng)到底能進化到什么程度,現(xiàn)在也說不準。但是,這樣的系統(tǒng)會越來越多。
據(jù)說,MISIM 認為它未來可重寫上古編程語言COBOL的代碼,許多銀行和政府軟件都是用 COBOL 編寫的,人工遷移的成本實在太高。
但是,如果真有那么一天,MISIM們可以自動重構(gòu)應(yīng)用級的代碼,被替代的開發(fā)人員該怎么抉擇?
如果被淘汰了,要去開奶茶店嗎?
早在2013年,英國牛津大學(xué)專家就開展了相關(guān)的研究,建立了評估不同行業(yè)人員受人工智能等技術(shù)影響的方法。
他們對美國702個職業(yè)被自動化取代的風(fēng)險進行研究,給出可能被取代的概率:電話銷售員、保險鑒定及車輛定損人員、裁判、房地產(chǎn)經(jīng)紀人以及秘書和行政助手等被自動化取代的概率最高,大于96%。
而從事創(chuàng)造性、社會性以及感知和操縱技能要求高的職業(yè),如首席執(zhí)行官、計算機系統(tǒng)分析師、心理學(xué)家、內(nèi)科醫(yī)生以及與精神健康相關(guān)的社會工作者等,最不容易受到自動化取代。
說到底,就是「創(chuàng)造性」越低,被AI替代的可能性就越大。對于程序員和開發(fā)者來講也是一樣,「搬運工式」的程序員可替代性就比別人要高。
有大佬曾總結(jié)以下三類程序員容易被替代。
第一,一直使用老舊語言,不愿意學(xué)習(xí)新技術(shù)的程序員。技術(shù)語言更新不斷,由當初的低級語言,匯編語言,已經(jīng)發(fā)展到當今的高級語言,如果你還是只會以前的技能,那你就會成AI替代的第一波人。
第二、習(xí)慣復(fù)制粘貼代碼的人。習(xí)慣將自己所需的代碼復(fù)制粘貼一下,然后結(jié)合自己的項目,將代碼進行簡單修改,滿足自己的項目要求即可。這樣的方法雖然高效,但時間久了便只會復(fù)制粘貼,那你就很可能成AI替代的第二波人。
第三、將其他程序員編寫的程序進行整合與維護的代碼整理員,這波人也很容易被替代。
自動化工具的逐漸繁榮,也可以讓開發(fā)人員「逃離」這些可以用自動化軟件替代的無聊且無意義的工作,可以進行一些更具創(chuàng)造性的工作,甚至可能參與項目決策成為項目管理者。
比爾蓋茨、扎克伯格、馬化騰等國內(nèi)外互聯(lián)網(wǎng)巨頭的大佬都是程序員出身,在一些項目的進行上,擁有專業(yè)知識和開發(fā)經(jīng)驗的程序員們?nèi)绻軌蜻M入項目決策團隊的話,必然會比沒有開發(fā)經(jīng)驗的人好很多。
當然,這樣成功的「程序員」實屬少數(shù)。
對于大部分普通從業(yè)者來講,下一個10年的壓力還是在步步緊逼。
有從業(yè)者表示,如果真的有失業(yè)的那一天,30歲以下就繼續(xù)找工作。不是的話就轉(zhuǎn)行。
另有「代碼民工」總結(jié)身邊人的生動案例如下:
1轉(zhuǎn)型寫公眾號
2 投資奶茶店
3 高速公路上賣充值油卡
.....
生存之道唯有不斷地學(xué)習(xí)新技術(shù),訓(xùn)練自己的復(fù)合技能,拓寬業(yè)務(wù)場景。
開發(fā)者們,不要灰心,自動化應(yīng)用只是將你們從機械式的工作中解放了出來,不應(yīng)該讓其成為淘汰你們的第一步,而是學(xué)習(xí)新技術(shù)、成為管理者的第一步。
人生苦短,we still love coding!