程式設計技能和做員工的技能——哪個更重要?

aqee發表於2012-09-17

  從最最基本的層面上講,每個員工都應該為最求兩種基本的能力而奮鬥,它們是:程式設計技能和做員工的技能。

  程式設計技能是指能寫出好的,穩定的,有效率的,可維護的,以及所有其它褒義形容詞能描繪的程式碼的能力。這些是程式設計師們喜歡花時間反覆嘮叨,討論,閱讀的東西。

  做員工的技能是指做一個好的僱員和同事的能力。它意味著有求必應,善於交流,能夠按期完成,善於接受反饋,有能力把複雜的事情解釋清楚,以及其它一些類似的技能。

  一個極端的例子

  對兩個人的形象描繪:

  Rodrigo畢業於麻省理工,他在業餘時間開發編譯器。他是Haskell語言的核心程式碼捐助者,他開發了很多非常有名的Python程式庫。他寫出的程式碼都是非常健壯的程式碼,可讀性好,能夠優雅的處理各種程式上的臨界計算場景。然而,他通常是拖延幾天才回復郵件,你很少見他會接聽電話,他看起來並不真正理解按時完成任務的重要性,他按自己的方式做事,你不可能弄清楚他究竟是怎麼想的,只感覺他腦子裡都是一些漫無邊際的想法。

  Gabriella並不是一個非常優秀的程式設計師,她寫的程式看起來顯然很業餘。15到20行就能完成的程式她寫了30行。她的程式裡有bug,這讓QA部門在上面花費了不少時間,她沒有真正理解寫出的程式碼應該具有好的效能的道理——“能用就行啦!”。然而,她很熱情——她收到郵件幾分鐘內必給予回覆,她從不漏接一個電話,她善於溝通,她能把複雜的技術問題清楚的講給客戶聽,她從沒有逾期完不成任務,她不斷的尋求反饋來改進自己的工作,她是一個很隨和的人,同事喜歡跟她說話。

  現在,好好想想這個問題。哪一個人你更願意和他/她共事?

  什麼是最重要的?

  依我的經驗,程式設計師更願意和Rodrigo同事,而老闆們更喜歡Gabriella。

  這很正常——畢竟,程式設計師是苦於和那些爛程式碼打交道的,而老闆們操心應付延誤的工期和改善團隊裡溝通不暢。所以,我都更喜歡給我們帶來盡少麻煩的人。

  然而,問題是,老闆們是給我們工作機會的人,他們是能讓我們晉升,漲工資,能給我們嘉獎的人,在這種情況下,Gabriella就脫穎而出了。我已經很多次見到這種情況了——具有好的做員工技能但程式設計技能差的程式設計師最吃香,而具有非常好的程式設計技能但不善於溝通的程式設計師永遠都走在別人後面。

  不管我們程式設計師如何認識這個問題,如果你想在給別人程式設計打工中獲得事業成功,程式設計技能不是第一重要的。學會如何做一個好的員工才是重要的,甚至是非常重要的。

英文原文:Coding skill vs. employee skill

相關文章