焦油坑與激情 論程序員的職業生涯

學識都 人氣:3.97K

先來聽我說幾個真實的故事:

焦油坑與激情 論程序員的職業生涯

上週面試了一個開發人員,這個人所有的面試題都答出來了。各方面我們需要的知識也掌握了,但是在初試中,這個人就被我們三個面試官一併否決了。 原因很簡單,這個面試者提供的答案都是能解決問題,但幾乎都是效率最差的方案;另外,從一些面試題中,可以看出這人很多時候,把開發工作當成一個應付差事的工作來做,而不是作爲自己的興趣來做。缺乏激情,工作只是應付差事,僅僅是由於有幾年工作經驗,才能答出我們的面試題。這樣的人不要也罷。

另外一個故事,公司有個開發組,在他們組發生過這樣一件事情:有次在一個界面佈局文檔中,有幾個很明顯的錯別字。提交到某個開發人員那裏後,開發人員在知道是錯別字的前提下,不跟其它相關人員溝通,在WEB頁面上,仍然採用了這個錯別字。

再一個面試中聽到的故事:在問面試者爲何離開前一個公司的時候,有個面試者說了這樣一種情況,一個10個多人的開發團隊,忙了一年,產品還沒有上線,需求還在因爲Boss的靈感不斷,還在不斷修改中,最後他覺得對這個項目和這個公司失去了激情,爲此他決定尋找新的工作機會。

種種原因,沒能或不再把編程工作當作一種樂趣,沒有成就感,這是上面三個故事產生的根源。這是我的看法。

不僅僅程序,編程系統產品在焦油坑中苦苦掙扎,程序員們也在焦油坑中苦苦掙扎。下圖是人月神話第一章的插圖:拉布雷阿的焦油坑壁畫(Mural of La Brea Tar Pits)。我們每個人都象其中的動物一樣,時時刻刻陷身在焦油坑中,都在苦苦的掙扎中。  

說自己陷身焦油坑,有這個,哪個苦惱。誰沒有苦惱,人在各個階段都會有大量的苦惱存在,在苦惱中仍然有激情,這纔是重要。

有時候,我就在關注身邊的程序員,去想他們爲何會有這樣、那樣的行爲發生。分析的其中一個結果就是:程序員的水平差別很大程度是看他是否有編程的激情。

比如:剛畢業的大學生,差的,好的我都看到過,好的一個在還有半年才畢業的時候,就被我拉到公司工作了(這個人後來由於想自己創業,離職了,不過這個人的激情我非常佩服)。而差的,在面試中一些非常簡單問題的答題,讓我差點吐掉。要知道,我面試剛畢業者,一般不是考具體應用,而是重點考察算法、數據結構的簡單知識,而這些知識,大學裏是必修的。

有哪些方面可能成爲程序員有激情的原因?

在人月神話的第一章《焦油坑》中提到編程行業“滿足我們內心深處的創造渴望和愉悅所有人的共有情感”提供了五種樂趣:

創造事務的快樂;

開發對其它人有用的東西的樂趣;

將可以活動、相互齧合的零部件組裝成類似迷宮的東西,這個過程所體現出令人神魂顛倒的魅力;

面對不重複的任務,不斷學習的`樂趣;

工作在如此易於駕馭的介質上的樂趣--純粹的思維活動--其存在、移動和運轉方式完全不同於實體物件;

從我的角度來理解,就是以下兩個方面:

編程的結果導致的激情,包括創造事務,以及創造的事務被其它人認可。

編程的過程,把一行行代碼組裝成一個功能強大的產品,組裝中引入自己正在關注的一些技術,算法,模式。這個算法是我設計的,爲此帶來的一系列樂趣。

編程的結果和過程,很多時候受制於其它人的。這時候必然會對你在這方面的樂趣產生限制。

越是大公司,越是大型的系統,這種限制越多。另外,日企的嚴格開發規範,我覺得是對這些限制達到極致的表現。所以我個人肯定不會去日企。也不建議去日企。有些技術牛人,沒有去大企業,可能的一個原因是因爲他想把自己這些編程樂趣保留在一個更大的範圍。

另外,微軟開發流程我知道的可能比較多點。我就說說我對微軟開發中的樂趣說說我的看法,畢竟我不在微軟,可能不一定對。

1、我覺得在微軟開發團隊,測試人員的開發樂趣比開發人員的開發樂趣要更多。

開發人員需要有產品經理的各種文檔作限制,他的最大開發樂趣可能是在設計各種更優秀的算法來保證界面功能可用。

而測試人員則需要用各種工具(包括自己開發的,使用腳本等)來測試各種場景。比如我挺佩服的施凡,有段時間,他爲了測試Live Meeting,自己在設計寫個語音機器人,來完成這個測試。

2、工作產品被很多人使用的成就感,這點大家應該都很明白,就不細說了。

上面說的是針對個人的編程激情,很多時候,周圍人的習慣會影響你也會慢慢具有這個習慣,這就是團隊,環境在潛移默化的感染者您。

如何讓團隊保持激情?

以下只是我個人的看法,並不一定使用於你的環境。

1、制度化,並以身作則。

比如我帶領的論壇相關產品開發團隊,有個制度就是每週四,組內一個成員介紹自己最近關注的技術。這個制度我沒有往整個公司推廣,是因爲我覺得推廣到整個公司,平均分配到每個人身上,就是4、5個月才輪到一個人一次,對於個人學習的督促作用一點用都沒有了。

2、工作節奏鬆勁輪換,不能一直以一個節奏來進行。

該加班的時候就加班,該放鬆的時候就放鬆。注意不能一直是一個節奏,如果一直是一個節奏,那麼人很容易懶散。

總結:

最近在看《人月神話》,其中的很多知識點感觸很深,很淺顯的一個道理,如果讓自己一個人去慢慢悟的話,就不知何時才能出來。

回到本文討論的主題,如何讓自己保持激情?如何讓團隊保持激情?這是每一個程序員,每一個項目經理都要考慮的事情,只有有激情的團隊才能產生偉大的作品。才能跟上時代的步伐。