程序員的“黃金時代”結束了嗎?

程序員的“黃金時代”結束了嗎?

知名的技術佈道者Tim O'Reilly最近在接受採訪時提到了一個觀點,他認為程序員的黃金時代已經過去了。理由是編程能力變成了一種通用技能要求,就像會讀書寫字一樣。所以工作不好找了。但是Matthew MacDonald有不同的看法。

程序員的“黃金時代”結束了嗎?

里奧·馮· 克倫茲(Leo von Klenze)的“雅典衛城” 給人留下了深刻的印象[Wiki Commons]

現如今,你似乎只需要關注一下Twitter或者異常TEDx 演講就可以給自己安個未來主義者的頭銜。但是,幫助大家學習技術的傳奇公司O'Reilly Media的創始人Tim O'Reilly不是那種專家。他對計算的趨勢深思熟慮,對開源非常擁護(在開源被認為很酷之前很久就如此了),大家都信得過他。

所以,當Tim O'Reilly最近對軟件行業的未來發表評論時,職業的開發人員都注意到了這一點。他的原話是這樣的:

“我認為過去幾十年的黃金時代已經過去了,那種當一名程序員就能找到工作的日子已經過去了。編程現在更像是會讀書能寫字。你必須具備這樣的能力。”

聽起來很合邏輯。實際上,您可能已經聽說過其他版本的“今天的精英編碼技能是明天的基本能力”的論點。但這真的反映了軟件行業的未來嗎?

不會寫代碼相當於沒文化?

人人都要會寫代碼,就像人人要會讀寫一樣。你很難質疑這個目標。哪怕你不打算自己寫軟件,理解代碼是怎麼工作的也很有價值。甚至不是程序員也可以運用所需的基本技能去開發網站,從大量數據中得出結論,或者對簡單任務進行自動化。一天當中誰沒有在Google、Facebook或者YouTube算法的溫暖懷抱裡面糖果那麼一會兒?不管是不是程序員,當週圍的機器正在重塑我們的生活時,瞭解其工作方式也能夠為我們帶來寶貴的觀察角度。

其實,說編碼能力(當然,這種能力最終會從近乎神奇的力量演變成常規的人類實踐)是這種新型的讀寫能力的一部分的想法並不新鮮。但是,我們有理由對此表示懷疑。畢竟,僅僅在十年前,我們還一直在尋求科學素養,為的是向普通公民提供決策所需的知識,讓他們有能力選擇出能夠在快速發展的世界裡面規劃出一條康莊大道道路的領導人。但是,實現科學素養的承諾並沒有真正兌現。現如今,從計算機(量子力學)到疫苗(遺傳學)再到GPS(廣義相對論),普通人嚴重依賴於他們自己不瞭解或者不相信的現代科學。如果科學素養是一個從來都沒有實現的目標的話,那我們憑什麼對編程素養可以有更高的期望?

編程掃盲運動的支持者認為,讀書寫字一開始也是被當作專門技能的,而且花費了多年時間才從學者傳播到普通大眾。(如果說你在1620年的時候曾經做出預測,在數百年之內,哪怕是最沒有抱負的人也能夠寫出一篇語法上表達連貫的Facebook帖子,那你會被看作是一個瘋狂的夢想家。)但是,學寫作跟成為作家之間是有差距的。學科學與成為科學家之間也是有距離的。知道代碼的基本輪廓跟學習自己開發複雜系統之間一樣也是有差距的。

我們在為提高編程素養方面所做的努力太少了,這不足以讓未來的程序員做好準備。實際上,我們經常讓菜鳥遠離編程藝術,把他們誤導進狹小的,充滿侷限性的沙箱。在過去,這些沙箱是Excel宏,如果需要,還可以利用Visual Basic和Access。現在則是Power App。變得越多,越是萬變不離其宗——如果你想成為一名專業的程序員,還是不能按照標準的教育路徑走。

現代教育降低了編碼素養的門檻。但這並沒有改變對職業程序員的含義。

碼農值多少錢?

Tim O'Reilly點評的另一部分就有點微妙。簡而言之,如果大家的編碼能力都提高了的話,會不會威脅到程序員在勞動力當中的特權地位?

至少過去的二十年來,大家就一直在宣稱寫代碼這件事情已經商品化了。今天的一些程序員應該還記得,有人會告訴他們要學點效力更持久的東西,比方說數學,因為大家寫程序的技能差距會越來越小。

但是我要唱反調——沒有時間線的預測實際上根本就不算預測。今天,我們的程序員比過去任何時候都要多,而且還有大量的海外人才渴望來填補我們的IT需求。按理說程序員並不短缺。但是,熟練的程序員依然缺乏。事實證明,這種短缺的局面出奇的久。哪怕我們已經擴大了傳統教育(更深入地推進STEM學科)和非傳統教育(基於項目的代碼訓練營出現爆發式增長),熟練的開發人員短缺的情況仍然沒有改變。目前的估計是,編程人才的短缺在未來幾年只會加劇。

你很容易會認定熟練程序員的鴻溝反映的是對新興技術(如機器學習和大數據分析)缺乏專業知識。雖然這些領域的開發人員的需求量確實很大,但這似乎並不是短缺的根源。相反,現在我們缺少的是熟練的中級開發人員。那些掌握了編碼的基礎知識,但同時也瞭解高效團隊合作、協作等軟技能的人。

熟練的中級開發人員可以將編程技能與難以量化的技能(比方說具備分析大型系統、調試現實問題、管理項目以及與利益相關者溝通的能力)相結合起來。

將來,剛剛學出來的編碼人員也許在找工作時會遇到困難(視當地就業市場和他們的技能組合而定)。但是經驗豐富的開發人員在數十年內都會是寶貴的資源。哪怕AI驅動的代碼生成工具似乎前途無量,但那也取代不了可以在芯片現實與現實世界之間遨遊的專家。

那編程僅能會不會有朝一日會變得太過普遍,以至於程序員失去定價能力呢?或許吧,但是今天還沒有這種跡象。一個更加明顯的障礙是,任何抱著輕鬆賺錢的目的從事編程的人,可能在獲得成功所需的經驗之前就已經心力交瘁。

一個新的黃金時代的到來

Tim O'Reilly的話暗示了編程技能不再是職業發展的障礙。但是,如果說計算的黃金時代不在於輕鬆賺錢和工作保障呢?如果我們失去的東西實際上並沒有我們在半個世紀的軟件開發當中所獲得的東西那麼重要呢?

這些年來,編碼的複雜性已經驟然提高。但是與此同時,我們可以依靠的資源也十分的豐富——可以發現錯誤的IDE,可以在幾秒鐘內完成編譯的計算硬件,可以自動完成諸如驗證輸入和排序列表之類繁瑣工作的框架。曾幾何時,尋找信息對於程序員來說依然是個難題,而像Windows API這種主題的一本信得過的書會在辦公室裡傳來傳去,直到整本書都被翻爛了。

現如今,有了免費教程,YouTube課程,Twitch編碼直播以及StackOverflow,編碼的進入障礙已經蕩然無存。相對於一堵晦澀知識組成的高牆令人生畏,新進入者現在面對的是熱情邀請自己,並渴望分享有關開源項目工作的專家社區。如果從實現自己想法的順暢程度來衡量的話,那這個就是黃金時代。

對於把個人的想法轉變成軟件項目並與全世界分享而言,史上從來沒有像現在這樣容易過。

我們不知道這個黃金時代什麼時候會結束,但有一件事可以肯定。那就是王國的大門依然敞開著。

譯者:boxi。

36氪編譯組出品


分享到:


相關文章: