屬于編程的黃金時(shí)代結(jié)束了嗎?
本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)。
如今,很多人只關(guān)注了Twitter或觀看一場(chǎng)TEDx演講,就能聲稱自己為未來主義者。不過,傳奇的科技學(xué)習(xí)公司O’Reilly Media的創(chuàng)始人TimO’Reilly并不是這種所謂的專家,他對(duì)計(jì)算趨勢(shì)的深刻洞察以及對(duì)開源的擁護(hù)使他擁有良好的信譽(yù)。
因此,Tim O’Reilly最近就軟件行業(yè)未來發(fā)表的這番評(píng)論足以引起開發(fā)人員們的強(qiáng)烈反響。他是這樣說的:“在過去幾十年里,成為程序員就可以找到一份工作。我認(rèn)為這種黃金時(shí)代已經(jīng)過去了,編程現(xiàn)在更像是一種讀寫能力,你不得不學(xué)會(huì)運(yùn)用它。”
這聽起來很合邏輯。實(shí)際上,類似這樣的說法已經(jīng)很常見了,例如“今天的精英編碼技能是明天的基本能力”等等。但這真的反映了軟件行業(yè)的未來嗎?
作為文化素養(yǎng)的編碼
我們很難去定論編碼掃盲的目標(biāo)。即使不打算編寫自己的軟件,了解代碼的工作原理也是有實(shí)際價(jià)值的。即使是非程序員也可以使用構(gòu)建網(wǎng)站所需的基本技能,從大量數(shù)據(jù)中得出結(jié)論,或自動(dòng)化簡(jiǎn)單任務(wù)。
誰(shuí)不是整天沉浸在谷歌、Facebook或YouTube算法的溫暖懷抱中呢?無論是不是程序員,當(dāng)周圍的機(jī)器在塑造我們的生活時(shí),了解它們是如何工作的,的確是一個(gè)有價(jià)值的思考方法。
圖源:unsplash
編碼是這種新型文化素養(yǎng)的一部分,這種素養(yǎng)最終將從一種近乎神奇的力量轉(zhuǎn)變?yōu)槿祟惖娜粘?shí)踐。這種想法并不是什么新鮮事,但有理由被質(zhì)疑。畢竟,僅僅在十年前,我們還在尋找科學(xué)素養(yǎng),目標(biāo)是能讓普通公民獲得他們做出決策所需的知識(shí),并能選擇出在快速發(fā)展的世界中制定出合理路線的領(lǐng)導(dǎo)者。但是科學(xué)素養(yǎng)的承諾并沒有真正實(shí)現(xiàn)。
今天,普通人嚴(yán)重依賴他們不理解或不相信的現(xiàn)代科學(xué),從計(jì)算機(jī)(量子力學(xué))到疫苗(遺傳學(xué)),再到全球定位系統(tǒng)(廣義相對(duì)論)。如果科學(xué)素養(yǎng)是一個(gè)從未實(shí)現(xiàn)過的目標(biāo),那么我們真的可以期待編碼素養(yǎng)發(fā)展得更好嗎?
編碼掃盲運(yùn)動(dòng)的支持者指出,最初閱讀和寫作是一種專門的技能,歷經(jīng)數(shù)年時(shí)間才從學(xué)者間傳播到普通民眾間。如果你早在1620年就預(yù)測(cè)過:在幾百年后,即使是最沒有進(jìn)取心的人也能在Facebook上寫一篇語(yǔ)法連貫的帖子,你也會(huì)變成一個(gè)瘋狂的夢(mèng)想家。
但就像學(xué)習(xí)寫作和成為作家之間是有差距的,學(xué)習(xí)科學(xué)和成為科學(xué)家之間有差距,理解代碼的基本輪廓和學(xué)習(xí)自己構(gòu)建復(fù)雜系統(tǒng)之間也存在差距。
圖源:Young Coder
我們?yōu)樘岣呔幋a素養(yǎng)所做的努力對(duì)培養(yǎng)未來的程序員的作用微乎其微。實(shí)際上,我們經(jīng)常引導(dǎo)新手遠(yuǎn)離編程藝術(shù),而進(jìn)入狹小的、限制性沙箱。過去,這些沙箱是Excel宏,如果追求更高還可以使用Visual Basic和Access,現(xiàn)在是Power Apps。變化萬千,但不離其宗。
如果你想成為一名專業(yè)的程序員,依然需要偏離標(biāo)準(zhǔn)的教育模式。現(xiàn)代教育降低了代碼讀寫能力的門檻,但這并不沒有改變職業(yè)程序員的定義。
編碼員的價(jià)值?
圖源:unsplash
Tim O’Reilly評(píng)論的另一部分則較為微妙:如果人們的編碼素養(yǎng)提高了,這是否會(huì)威脅到程序員的工作優(yōu)勢(shì)地位?
二十多年來,人們一直宣稱正在將編碼商品化。程序員一直被告知應(yīng)該學(xué)習(xí)一些更持久的東西,例如數(shù)學(xué),因?yàn)榫幋a技能的差距即將縮小。
但這件事有其不利的一面——沒有時(shí)間線的預(yù)測(cè)算不上任何預(yù)測(cè)。如今,我們擁有比以往更多的程序員,并且有大量的海外員工渴望滿足我們的IT需求。程序員并不短缺,但是技能熟練的程序員很短缺。
事實(shí)證明,這種短缺的狀況持續(xù)了很久,令人驚訝。即使我們擴(kuò)大了傳統(tǒng)教育(進(jìn)一步在課程中推廣STEM學(xué)科)和非傳統(tǒng)教育(基于項(xiàng)目的編碼訓(xùn)練營(yíng)爆炸增長(zhǎng)),熟練開發(fā)人員的短缺仍然沒有得到改善。根據(jù)目前的估測(cè),編程人才的短缺只會(huì)在未來幾年內(nèi)加劇。
可以很容易地發(fā)現(xiàn),普通程序員和熟練程序員差距反映了對(duì)新興技術(shù)(例如機(jī)器學(xué)習(xí)和大數(shù)據(jù)分析)專業(yè)知識(shí)的缺乏。雖然這些領(lǐng)域?qū)﹂_發(fā)人員的需求量確實(shí)很大,但這并不是短缺的根源。其真正的根源是缺少熟練的中級(jí)開發(fā)人員,這些人不僅掌握了編碼基礎(chǔ)知識(shí),還了解有效的團(tuán)隊(duì)合作、協(xié)作和其他軟技能。
熟練的中級(jí)開發(fā)人員可以將編程技能與其他難以量化的技能相結(jié)合,例如分析大型系統(tǒng)、調(diào)試實(shí)際問題、管理項(xiàng)目以及與利益相關(guān)者交談的能力。
將來,新上任的編碼人員可能會(huì)由于他們的本地就業(yè)市場(chǎng)和作品資歷而很難找到工作。但是,經(jīng)驗(yàn)豐富的開發(fā)人員在數(shù)十年內(nèi)仍然是寶貴的資源。即使是由AI驅(qū)動(dòng)的代碼生成工具,也不會(huì)取代可以在芯片世界與現(xiàn)實(shí)世界中皆如魚得水的專家。
圖源:CommitStrip
編程技巧是否有一天會(huì)變得非常普遍,以至于程序員失去定價(jià)能力?或許吧,但是目前沒有跡象表明這種情況會(huì)發(fā)生。相較之下更為明顯的問題是,任何尋求輕松賺錢而從事編程工作的人,都可能在獲得成功所需的經(jīng)驗(yàn)之前就精疲力盡。
新黃金時(shí)代的到來
Tim O’Reilly的話語(yǔ)暗示了未來的編程技能將不再是尋找舒適職業(yè)的捷徑。但是,如果計(jì)算的黃金時(shí)代本來就與輕松賺錢和職業(yè)安全無關(guān)呢?如果我們失去的東西實(shí)際上不如我們?cè)诎雮€(gè)世紀(jì)的軟件開發(fā)中所獲得的東西重要呢?
近年來,編碼的復(fù)雜性急劇上升。但與此同時(shí),我們擁有著豐富的資源——可以發(fā)現(xiàn)錯(cuò)誤的IDE、可以在幾秒鐘內(nèi)完成編譯的計(jì)算硬件、可以自動(dòng)完成諸如驗(yàn)證輸入和排序列表之類的常見任務(wù)的框架等。我仍然記得那些日子——程序員不得不尋找信息,而關(guān)于Windows API之類的可靠書籍在辦公室里傳閱,直到書的封面都被翻爛了。
如今,有了免費(fèi)教程、YouTube課程、Twitch coding streamers和StackOverflow這樣的網(wǎng)站,入門的障礙已蕩然無存?,F(xiàn)在,我們擁有一個(gè)小白友好型的專家社區(qū),并積極分享開源項(xiàng)目,不再讓堆積如山的知識(shí)讓初學(xué)者望而卻步了。如果我們通過衡量阻礙我們想法的阻力來選擇黃金時(shí)代,那這就是黃金時(shí)代。
圖源:unsplash
歷史上從沒有哪個(gè)時(shí)期,比此刻更容易將創(chuàng)意轉(zhuǎn)變?yōu)檐浖?xiàng)目,并輕松與全世界共享。編程的黃金時(shí)代何時(shí)結(jié)束?我不知道,但至少現(xiàn)在這片領(lǐng)地的大門仍然敞開著。