程式設計師的困境

2021-06-18 00:10:55 字數 1461 閱讀 9287

最近,我面試了數萬個應聘核心程式設計師職位的候選人。這些候選人是從大的、好的、著名的晶元或嵌入式作業系統/系統類的公司來的。他們中的許多人聲稱,他們至少有10年的在核心方面的工作經驗。他們的簡歷看起來相當漂亮-各種最新的專案和各種大獎及獎勵......

但是他們中的大多數不能回答乙個非常基本的問題:當我們呼叫標準的malloc函式時,在核心裡發生了什麼?

不要驚訝。當我讓乙個候選人寫乙個簡單的基於glib雜湊函式的lru快取框架,他首先聲稱,他從來沒有使用過glib - 這是我所預料到的 - 我向他展示glib函式的api頁面並詳細的向他解釋,將近乙個小時後,他只寫出了幾行凌亂的**。

我不知道,在其他國家情況是否類似,但在中國,或者更具體地說,在北京,這是現實。為國外著名大公司工作過的「高階」程式設計師,並不能在簡單的基礎的問題上面證明他們。

為什麼會出現這種情況呢?

我越去想它,我越相信不僅僅是他們自身,而且也是他們工作的公司導致的這種情況。這些公司通常會提供穩定的協議棧的**,其中有的多年沒有顯著的變化。圍繞這這些**所包裹的技術,讓他們只需要按照現有的路徑,而不是創造性的工作。如果你正好為這類**工作了很長一段時間,並且沒有達到外面世界的高度,有一天你會發現自己在乙個可憐的位置 -在公司或專案組內部, 他們稱你為「專家」,但不幸的是你很難在市場上找到相稱的好工作。

這就是所謂的「專家陷阱」。從第一天的日子,我們程式設計師夢想著成為團隊/公司內部的專家,然而,當這一天真正來臨時,我們自己使自己陷入了困境。我們越深入到現有的**,我們就更深的陷入。我們漸漸因為現有的**是如此穩定而喪失了寫出從開始到完整專案的**的能力。更糟糕的是,如果我們的主要工作是維護現有的**以及一些特色的開發,一段時間後,不管我們已經讀了或研究了多少**,我們將會發現我們不能寫**了 - 即使是作為簡單的研究生院分配的問題。這是程式設計師的困境:我們靠編碼養活自己,但是養活我們的大公司往往會毀了我們的謀生能力。

如何擺脫這種困境?

對於個人 - 

首先,做自己的個人專案。你需要一直「使你的鋸子保持鋒利」。如果工作本身並不能幫助你這樣做,拿起在你的個人時間內你要克服並征服它的問題。通過這樣做,最有可能的是,你會學到新的東西。如果您在github上發布您的個人專案,你可能會得到機會認識那些可能會使你遠離你現有的位置的人。

不要停留在乙個專案組超過兩年的時間。強迫自己流動,即使在同一組織中,同一家公司,你將面對新的挑戰和新的技術。嘗試每18個月做一次面試。你不需要改變你的工作,但你可以看到市場需要什麼以及你如何融入。

對於團隊/公司 - 

給員工們壓力和挑戰。迴圈的工作,讓「專家」有機會拓寬自己的技能。使用戰鬥來鍛鍊勇士。

定期舉行黑客馬拉松。這將有助於建立乙個擁抱創新和創造的文化。人們會被他們的同齡人所激發 - 「哎呀,那鴇24小時能寫出這樣乙個美麗的框架,我必須得努力工作了」。

程式設計師的困境

最近我為乙個核心程式設計師的職位面試了十幾個候選人。這些候選人都來自一些不錯的大公司,這些公司在晶元或嵌入式作業系統領域十分有名。這些候選人大多聲稱自己在核心方面有著十年的在職工作經驗。他們的簡歷看起來非常耀眼 各種相關的專案 術語和獎項 但他們幾乎無人能夠回答乙個非常基礎的問題 當我們呼叫標準的 ...

擺脫程式設計師困境,多思考

主體內容 本篇將講解開發過程中碰到的困難與問題。作為乙個已經畢業一年的北漂程式設計師,過程中的艱辛與痛苦與自己的拼搏相比,又能算什麼呢 詳細內容 本人2012年7月份畢業,7月中旬來到廣聯達軟體 總部 北京 進行開發,來到了乙個比較核心的部門 計量事業部。工作的內容是用delphi語言開發公司的元老...

程式設計師創業會面臨什麼困境?

創業做為乙個預示著風險和機遇的選項一直指引著人們向前衝刺。從80年代和90年代的創業潮再到因為電子商務帶起的08年創業潮再到網際網路成熟後的程式設計師創業潮,以及總理號召的萬眾創業 大眾創新開始,創業越來越成為人們經久不息的話題。在搜尋引擎指數中可見,國內的網際網路創業潮在2011年開始的,在201...