當(dāng)前位置:首頁 > 公眾號(hào)精選 > 嵌入式微處理器
[導(dǎo)讀]算法、應(yīng)用程序安全、性能優(yōu)化以及架構(gòu)等等,這些東西衰減速度很慢,更值得認(rèn)真鉆研。

算法、應(yīng)用程序安全、性能優(yōu)化以及架構(gòu)等等,這些東西衰減速度很慢,更值得認(rèn)真鉆研。 

我是個(gè)程序員,差不多四十歲了。記得某個(gè)周六的早晨,我老婆在家里帶孩子,我自己跑去參加一場技術(shù)會(huì)議。當(dāng)時(shí)這個(gè)會(huì)議的主題是 React Native,主講人一直想給我們灌輸一種 React Native 將成為移動(dòng)開發(fā)領(lǐng)域“下一個(gè)大事件”的印象。但在我看來,它跟 15 年前的 JSP 其實(shí)挺像的,連演示代碼中的邏輯都一模一樣——但我覺得可能是自己“老了”,有點(diǎn)“沒跟上節(jié)奏”。

主講人一張一張放著幻燈片,那些實(shí)時(shí)編碼畫面讓人眼花繚亂。接著就是演講里有名的“掉書袋”環(huán)節(jié),主講人一口氣說起六款我前所未聞的支持工具,其中有一款叫 Pepperoni ——對(duì),就是意式辣香腸那個(gè)詞。我是個(gè)剛學(xué)會(huì) Angular 的老家伙,坐在現(xiàn)場感覺自己像個(gè)傻子。我真心希望臺(tái)上能講得慢一點(diǎn),簡單一點(diǎn)。

但其實(shí)這一切又讓我生出種熟悉的感覺。過去二十年里,我經(jīng)歷過不少什么浪潮啊、什么變革的。其實(shí)感覺還行,一樣樣“顛覆”總是來了又去,拽著從業(yè)者們的神經(jīng)不斷亢奮。這讓我自己也有了技術(shù)創(chuàng)新社區(qū)的歸屬感,覺得我也能為讓一切變得更輕松、更快、更干凈、更好而做出點(diǎn)努力。但這一天,面對(duì)即將到來的四十歲,我必須承認(rèn)自己有點(diǎn)疲憊了。我知道,要想繼續(xù)掙到可觀的薪水,我就得跟上時(shí)代的變化、拋棄一些以往自己深信不疑的知識(shí),為下一場旅程做好準(zhǔn)備。這些我都知道。

但我轉(zhuǎn)念一想,其他行業(yè)的專家其實(shí)并不需要像我這樣熬過自己的編程生涯。就說四十歲的醫(yī)生們,他們不用擔(dān)心自己對(duì)于心腦血管系統(tǒng)的知識(shí)突然就過時(shí)了。律師、水管工、會(huì)計(jì)師或者英語老師也是一樣,雖然每個(gè)職業(yè)都有自己的獨(dú)特之處,但著眼于職業(yè)生涯的中期,總有一些積累下來的知識(shí)應(yīng)該相對(duì)穩(wěn)定,同時(shí)也成為他們獲得尊重與報(bào)償?shù)母?。但在編程方面,二十年的從業(yè)經(jīng)驗(yàn)似乎沒那么值錢? 兩股力量

當(dāng)然,編程這行里也有不少積極向上的從業(yè)者,他們熱愛編程工作帶給他們的一切。但單從無休無止地自我否定、自我顛覆這事上看,編程似乎或多或少有著自己的獨(dú)特性。但我不禁疑惑,這種獨(dú)特性真的成立嗎?編程真的跟其他所有行業(yè)都不一樣嗎?如果是真的,為什么?這又會(huì)給我們的職業(yè)生涯帶來怎樣的影響?我個(gè)人想從兩個(gè)角度,分享自己的一點(diǎn)思考。

首先就是知識(shí)衰減。我們所知曉的一切,包括編程之外的很多認(rèn)知,終將過時(shí)。我在 16 歲的時(shí)候就學(xué)會(huì)了開車,直到現(xiàn)在這門手藝還是能發(fā)揮作用。由此來看,開車算是衰減速度很慢的知識(shí)類型。對(duì)其他一些專業(yè)人士來說,他們的知識(shí)衰減速度也比較慢 。雖然醫(yī)學(xué)上的新發(fā)現(xiàn)可能會(huì)取代一部分現(xiàn)有程序,但我們對(duì)于生物學(xué)的理解恐怕不太可能出現(xiàn)全面顛覆。在這樣的基礎(chǔ)上,知識(shí)的累積才真正具有效力。多從業(yè)一年,醫(yī)生們的知識(shí)儲(chǔ)備就更豐富一些,因?yàn)檫@ 12 個(gè)月里他們學(xué)到的新知識(shí)會(huì)疊加在原有知識(shí)之上。

但先不說是好是壞,在編程領(lǐng)域,情況完全不同。說句不負(fù)責(zé)任的話,我認(rèn)為:

程序員有半數(shù)知識(shí)都將在未來十年內(nèi)失效。

也許這話并不靠譜,但結(jié)合個(gè)人經(jīng)歷,我是比較認(rèn)同的。換句話說,就算從現(xiàn)在開始我什么新知識(shí)都不學(xué),那么到 2026 年,我也還是有大概一半的知識(shí)能發(fā)揮作用(感謝長壽的 SQL),另外一半則沒準(zhǔn)毫無用處(React Native 可能就屬于這種)。我肯定會(huì)繼續(xù)學(xué)習(xí),用新知識(shí)替換掉舊知識(shí),但這就夠了嗎?到 2026 年,我腦袋里頭仍然有效的知識(shí),會(huì)比現(xiàn)在更多嗎? 

這就引出了第二股力量,即知識(shí)積累速率——就是我們往自己的知識(shí)庫里添加新內(nèi)容的速度。在各個(gè)領(lǐng)域,大家都得跨過一定的知識(shí)門檻才能獲得“認(rèn)證”(至少可以當(dāng)成從業(yè)的敲門磚),所以每個(gè)人在職業(yè)早期都需要積累跟認(rèn)證有關(guān)的知識(shí)。但在編程領(lǐng)域,隨著知識(shí)的快速衰減,我們似乎永遠(yuǎn)無法真正邁出“學(xué)生”時(shí)代。我們必須得終生學(xué)習(xí),這也是程序員的職業(yè)生涯顯得如此“非主流”的核心原因。

01

三個(gè)階段

如果讓我畫出普通程序員在職業(yè)生涯中的知識(shí)儲(chǔ)備量變化情況,結(jié)合知識(shí)的衰減與積累速度,我覺得大概的情況可能是下圖這樣:

在職業(yè)生涯的最初階段,即熱情的學(xué)徒階段,知識(shí)的積累相對(duì)容易。一切都是全新的,每一次體驗(yàn)都能帶來更多的知識(shí)儲(chǔ)備。另外,我們那時(shí)候還年輕,所以沒有什么一定得做、或者一定不能做的事。我們可以花幾個(gè)晚上或者周末學(xué)習(xí)新的語言和框架。更重要的是,雇主對(duì)我們的期望也不高。年輕人嘛,不犯錯(cuò)怎么能叫年輕人,所以我們比其他年長的同事更輕松自在,有余力抽點(diǎn)時(shí)間填補(bǔ)自己知識(shí)上的空白。這是個(gè)有趣的階段,而且總有種感覺伴隨左右——我們不知道的還太多。

到了一定階段,我們不再是新手,轉(zhuǎn)而成長為具備生產(chǎn)能力、可以自給自足的成熟開發(fā)人員。這讓我們第一次意識(shí)到,自己跟同事之間的差距(甚至是比自己大十歲的同事)似乎沒有那么大。這讓我們充滿了干勁,后起之秀就該這個(gè)樣子!我們在學(xué)習(xí)上的投資帶來了回報(bào),我們掌握的知識(shí)也幾乎全都有用——或者說,還沒來得及衰減掉。憑借豐富而新鮮的知識(shí),我們開始刻客戶、同行以及企業(yè)管理者的尊重,升職、加薪、職業(yè)發(fā)展也隨之而來。雖然當(dāng)時(shí)大家未必意識(shí)得到,但這就是職業(yè)生涯中的一大重要轉(zhuǎn)折點(diǎn)。

在這個(gè)轉(zhuǎn)折點(diǎn)上,有兩個(gè)重要事件。

首先,晉升為“高級(jí)”開發(fā)人員帶來的不只是更高的工資,同時(shí)也有雇主們更大的期望。明星程序員就應(yīng)該成長為下一個(gè)領(lǐng)導(dǎo)者,幫助新手程序員啦、審查代碼啦、接受采訪以及參加技術(shù)會(huì)議之類,最好還能騰出手來幫助企業(yè)維護(hù)一下復(fù)雜而陳舊的遺留軟件。

這些事看起來都很合理,但卻在不知不覺間犧牲掉了我們繼續(xù)積累知識(shí)的速度。還有時(shí)間逛技術(shù)博客嗎?沒有!

另外,就在這個(gè)時(shí)間點(diǎn)上,我們第一次經(jīng)歷、或者至少開始意識(shí)到知識(shí)衰減的存在。我們在職業(yè)生涯早期學(xué)到的一些東西現(xiàn)在已經(jīng)過時(shí)了。更具體地講,先前提到的“兩股力量”——知識(shí)衰減與知識(shí)積累速率,從這里開始成為我們的敵人。

接下來,我們進(jìn)入了最后一個(gè)階段——資深老鳥期。沒錯(cuò),我們知識(shí)淵博、富有成效;但我們也意識(shí)到,自己每時(shí)每刻掌握的知識(shí)總量可能都比剛剛又少了那么一點(diǎn)。更可怕的是,我們往往沒有時(shí)間積累新的知識(shí)作為補(bǔ)充。這一點(diǎn)最令人沮喪,所以很多程序員最后轉(zhuǎn)而去做管理、銷售、測試,甚至是回鄉(xiāng)下種地了。因?yàn)槿绻贿@樣,我們自己知道未來五年的職業(yè)生涯只會(huì)急轉(zhuǎn)直下,沒有半分余地。

02

個(gè)人一點(diǎn)不成熟的小建議


我現(xiàn)在就處在這么個(gè)階段。我仍然熱愛學(xué)習(xí),但我知道就算一點(diǎn)新東西不學(xué),自己也不會(huì)差到哪里去……最多是徘徊在“專家”這個(gè)定義范圍的下限附近。我希望能成為馬丁·福勒那樣的大師,像他那樣在生活與工作之間找到平衡點(diǎn)(我敢打賭他的生活絕對(duì)安排得多姿多彩)。也可以說,正是因?yàn)閺闹R(shí)衰減與積累速率的角度看待問題,我才有了這種釋然的心態(tài)。 

所以,我首先嘗試把眼光放得更長遠(yuǎn)一些。我會(huì)對(duì)新的職務(wù)抱以更謹(jǐn)慎的態(tài)度,以警惕的心理面對(duì)自己鮮有涉及的所謂“大好機(jī)會(huì)”。不少同事實(shí)在其他公司里拿到了更高的薪水,但他們也失去了接觸新事物、學(xué)習(xí)新知識(shí)的空間。在未來五年中,他們會(huì)意識(shí)到自己曾經(jīng)引以為傲的寶貴知識(shí)已經(jīng)不再適用,自己的實(shí)際貢獻(xiàn)已經(jīng)值不了那么高的薪水。所以,結(jié)合實(shí)際情況,我可能更重視雇主提供的工作環(huán)境,而不只是關(guān)心新的崗位能給多少工資。

其次,由于時(shí)間有限,我會(huì)更多把精力投入到持久性比較強(qiáng)的知識(shí)身上。算法、應(yīng)用程序安全、性能優(yōu)化以及架構(gòu)等等,這些東西衰減速度很慢,更值得我認(rèn)真鉆研。在我看來,這些領(lǐng)域中蘊(yùn)藏的機(jī)遇,也要比學(xué)習(xí)最新的 JavaScript 庫更大一些。

最后,可能我自己還沒有真正走出這座圍城;但單從職業(yè)角度而言,知識(shí)衰減與知識(shí)積累速率確實(shí)能幫大家換個(gè)角度審視自己的成長。有什么想聊的,咱們評(píng)論區(qū)見!

03

老程序員們的評(píng)論


Ben Northrop 的這篇文章發(fā)布后,引起了很多人的共鳴,很多一輩子都在編程的“大齡程序員”紛紛發(fā)表了意見。 

“我已經(jīng)有 45 年的編程經(jīng)驗(yàn)了。編程就是了解問題、找到方法并加以解決。這種條件下知識(shí)永遠(yuǎn)不會(huì)過時(shí)。雖然每種編程語言都需要數(shù)周的學(xué)習(xí)時(shí)間和數(shù)月的掌握時(shí)間,但他們中的大多數(shù)都非常相似。操作系統(tǒng)和數(shù)據(jù)庫也是如此。問題在于,許多人認(rèn)為老程序員不能學(xué)習(xí)新的花樣,但這個(gè)觀點(diǎn)并不正確?!?/span> 

“我今年 54 歲了... 我們對(duì)軟件的愛就是因?yàn)樗陌胨テ诤芏?。我們必須不斷學(xué)習(xí)才能生存和發(fā)展。這并不容易,而且新事物產(chǎn)生的速度也越來越快,但是,終身學(xué)習(xí)才能讓軟件行業(yè)更吸引人...“ 

“我今年 79 歲了,算是老程序員的代表吧。我 1958 年第一次用 SHARE 匯編語言在 IBM 704 上寫程序。哦對(duì),我還在一臺(tái) IBM 650 上編過程,那臺(tái)機(jī)器配的存儲(chǔ)器是個(gè)能容納 2000 個(gè)字的磁鼓。“ 

問題是,每當(dāng)計(jì)算機(jī)的運(yùn)行速度提高大概 4 倍,程序員們學(xué)過的知識(shí)就都得更新一輪。另外,隨著主存儲(chǔ)器和次存儲(chǔ)器的速率比例發(fā)生變化,最佳實(shí)踐也會(huì)隨之調(diào)整。現(xiàn)在的計(jì)算機(jī)速度更快、內(nèi)存更大,所以需要注意的性能問題也越來越少——不少現(xiàn)代編程語言甚至直接忽略了這些問題。不過舊問題的消失,總會(huì)伴隨新問題的出現(xiàn):在線應(yīng)用與云計(jì)算的普及,又帶來了新的挑戰(zhàn)。這種感覺真的不好,就像每過十年物理定律就被任意改變了一樣。愛因斯坦當(dāng)初是擴(kuò)展了物理學(xué)的適用范圍,可沒有徹底否定低速物理學(xué)定律。與以往的大型機(jī)相比,面向云環(huán)境編寫程序更像是為另一個(gè)完全不同的平行宇宙搞物理學(xué)研究。 

但我相信這一切正在放緩,整個(gè)軟件行業(yè)終將走向成熟。到那時(shí),程序員們可能會(huì)一起回顧過往的日子,就像我們現(xiàn)在有時(shí)候會(huì)撿起復(fù)古情懷滿滿的西部片來看一樣。順帶一提,我現(xiàn)在已經(jīng)退休,偶爾用 Mathematica 編編程、打發(fā)時(shí)間。經(jīng)歷了漫長的旅程,但我還是我,什么都沒有改變?!?/span> 

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉