最近我為一個內(nèi)核程序員的職位面試了十幾個候選人。這些候選人都來自一些不錯的大公司,這些公司在芯片或嵌入式操作系統(tǒng)領域十分有名。這些候選人大多聲稱自己在內(nèi)核方面有著十年的在職工作經(jīng)驗。他們的簡歷看起來非常耀眼——各種相關的項目、術語和獎項……
但他們幾乎無人能夠回答一個非常基礎的問題: 當我們調(diào)用標準的 malloc 函數(shù)時,內(nèi)核中會發(fā)生什么?
先別吃驚。當我要求其中一位候選人基于 glib 的哈希函數(shù)寫一個簡單的 LRU 緩存框架時,他先是表示從來沒用過 glib——如我所料——于是我?guī)退蜷_了 glib 哈希 API 的頁面,并向他詳細講解了這些 API;然后大約一個小時以后,他只寫出幾行凌亂的代碼。
我不知道其它國家是否也有類似的情況,但在中國,或者更具體一些,在北京,這就是現(xiàn)狀。那些在不錯的大公司里工作了多年的“資深”程序員們無法在一些簡單的、基本的問題上證明自己。
這到底是怎么回事?
當我在這個問題上思索得越多,我就更加相信,這不僅有他們自身的原因,同時也歸咎于他們所供職的這些公司。這些公司通常提供了一個穩(wěn)定的代碼堆,往往幾年都不會有大更新。這些代碼的專有技術把人們的技能框進一個定式,以致于他們只需要遵循現(xiàn)有的路徑,而不需要發(fā)揮創(chuàng)意。如果你碰巧為這類代碼工作,而且與世隔絕了很長一段時間,那么有一天你會發(fā)現(xiàn)你自己已經(jīng)陷入一個可悲的位置——他們在團隊或公司內(nèi)稱呼你為 “ 專家 ”,但不幸的是,你無法在市場上找到一份同等待遇的工作。
這就叫作 “ 專家陷阱 ”。日復一日,程序員們都渴望在團隊或公司內(nèi)成為一名專家;但是,當那一天真正到來時,我們卻早已作繭自縛。我們在既有代碼中鉆得越深,我們自己就陷得越深。既有代碼是如此穩(wěn)定(如此寵大、如此好用),讓我們漸漸地失去了從無到有獨立編寫完整項目的能力。更糟糕的是,如果我們的主要工作就是維護這些既有代碼、很少開發(fā)新功能,那么過不了多久,無論研讀了多少代碼,我們都會發(fā)現(xiàn)自己不會寫代碼了——哪怕是一個像畢業(yè)大作業(yè)那樣簡單的任務。這就是程序員的困境: 我們以編碼為生,但那些養(yǎng)活我們的大公司卻在無形中磨滅了我們的生存技能。
如何打破這種困境?
對于個人:
首先, 打造你自己的私人項目。你需要不斷地打磨自己的技藝。如果工作本身并不能幫助你做到這一點,就撿起那些你感興趣的問題,然后用你的私人時間去攻克它。通過這個方法,你應該會學到新東西。如果把你的私人項目發(fā)布出去,比如在 GitHub 上,你說不定會認識一些人,幫助你大踏步地向前邁進。
不要在一個團隊中停留超過兩年。強迫你自己四處轉轉,哪怕在是同一家公司內(nèi),你會面對新的挑戰(zhàn)和新的技術。試著每隔 18 個月就出去面試工作。你并不需要真的換工作,但是這能讓你看到真實的市場需求,以及怎樣與時俱進。
對于團隊和公司:
給予員工壓力和挑戰(zhàn)。實行輪崗制度,讓“專家”們有機會拓展他們的技能。啟動新項目,用戰(zhàn)役來磨煉你的勇士。
周期性地舉辦黑客馬拉松活動。這有助于營造一種崇尚創(chuàng)新和創(chuàng)作的企業(yè)文化,人們會受到同伴的激勵——“擦,這個***居然可以在 24 小時內(nèi)寫出這么漂亮的框架,我也得加把勁兒了!”
-
程序員
+關注
關注
4文章
953瀏覽量
29897
發(fā)布評論請先 登錄
相關推薦
阿里云升級通義靈碼AI程序員,全面上線
TMS320C55x DSP CPU程序員參考補充

UCD3138A64/UCD3138128程序員手冊

機械革命發(fā)布CODE AI程序員本
AI編程工具會不會搶程序員飯碗
第五屆長沙·中國1024程序員節(jié)開幕
京東上萬程序員都AI用它!

大眾汽車面臨軟件困境,將推遲發(fā)布多款電動汽車
程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

薪資高、青春飯,是不是程序員=青樓?
GitHub Copilot:你的代碼超級助手!程序員的最強福音

評論