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