編程技能和做員工的技能--哪個更重要?
從最最基本的層面上講,每個員工都應(yīng)該為最求兩種基本的能力而奮斗,它們是:編程技能和做員工的技能。
編程技能是指能寫出好的,穩(wěn)定的,有效率的,可維護的,以及所有其它褒義形容詞能描繪的代碼的能力。這些是程序員們喜歡花時間反復(fù)嘮叨,討論,閱讀的東西。做員工的技能是指做一個好的雇員和同事的能力。它意味著有求必應(yīng),善于交流,能夠按期完成,善于接受反饋,有能力把復(fù)雜的事情解釋清楚,以及其它一些類似的技能。
一個極端的例子
對兩個人的形象描繪:Rodrigo畢業(yè)于麻省理工,他在業(yè)余時間開發(fā)編譯器。他是Haskell語言的核心代碼 捐助者,他開發(fā)了很多非常有名的Python程序庫。他寫出的代碼都是非常健壯的代碼,可讀性好,能夠優(yōu)雅的處理各種程序上的臨界計算場景。然而,他通常 是拖延幾天才回復(fù)郵件,你很少見他會接聽電話,他看起來并不真正理解按時完成任務(wù)的重要性,他按自己的方式做事,你不可能弄清楚他究竟是怎么想的,只感覺 他腦子里都是一些漫無邊際的想法。Gabriella并不是一個非常優(yōu)秀的程序員,她寫的程序看起來顯然很業(yè)余。15到20行 就能完成的程序她寫了30行。她的程序里有bug,這讓QA部門在上面花費了不少時間,她沒有真正理解寫出的代碼應(yīng)該具有好的性能的道理——“能用就行 啦!”。然而,她很熱情——她收到郵件幾分鐘內(nèi)必給予回復(fù),她從不漏接一個電話,她善于溝通,她能把復(fù)雜的技術(shù)問題清楚的講給客戶聽,她從沒有逾期完不成 任務(wù),她不斷的尋求反饋來改進自己的工作,她是一個很隨和的人,同事喜歡跟她說話?,F(xiàn)在,好好想想這個問題。哪一個人你更愿意和他/她共事?
什么是最重要的?
依我的經(jīng)驗,程序員更愿意和Rodrigo同事,而老板們更喜歡Gabriella。這很正常——畢竟,程序員是苦于和那些爛代碼打交道的,而老板們操心應(yīng)付延誤的工期和改善團隊里溝通不暢。所以,我都更喜歡給我們帶來盡少麻煩的人。然而,問題是,老板們是給我們工作機會的人,他們是能讓我們晉升,漲工資,能給我們嘉獎的人,在這種情況下,Gabriella就脫穎而出了。我已 經(jīng)很多次見到這種情況了——具有好的做員工技能但編程技能差的程序員最吃香,而具有非常好的編程技能但不善于溝通的程序員永遠(yuǎn)都走在別人后面。不管我們程序員如何認(rèn)識這個問題,如果你想在給別人編程打工中獲得事業(yè)成功,編程技能不是第一重要的。學(xué)會如何做一個好的員工才是重要的,甚至是非常重要的。