即便不是偉大的程序員,你也可以走的更遠
每個程序員應該具備2種能力,即編程能力和個人的職業技能。
編程能力意味着你寫的代碼是可靠,高性能,易維護的。這跟程序員花費的時間,他的思維,以及廣泛的閱讀有關。
職業技能讓你成爲一個好的員工,好的同事。這需要反應敏捷,有良好的溝通,明白期限,及時公開的反饋,能清楚解釋複雜的事物等能力。
一個極端的例子。
想象有2個人。
Rodrigo是麻省理工的畢業生,在他的空閑時間裏面他在編寫一個編譯器。他是Haskell核心的貢獻者,并且開發了一些著名的Python包。一般情況下,他的代碼具有很強的可讀性,并且完美的處理邊界問題。不過,他需要幾天的時間才會回複一封郵件,很少拿起電話,不明白最後期限的重要性。他做事情有自己的方式,看上去很散漫,你不能明确他的思想。
Gabriella不是一個很好的程序員,她的代碼像一個業餘的人寫的。她用30行的代碼完成一個僅用15行就可以搞定的事情,QA需要把大量時間花在她的bug上。然而,她的反應令人難以置信–她在幾分鍾之内回答電子郵件,從不錯過一個電話,她是一個偉大的溝通者,能夠很清楚地向客戶解釋複雜的技術問題,她從未錯過最後期限,她不斷的通過反饋來提高她的工作效率,并且跟她很容易溝通。
所以,你會在工作中跟誰搭檔?
什麽是真正重要的?
以我的經驗來看,一個程序員想跟Rodrigo做同事,而一個經理想要Gabriella做同事。
這是有道理的,畢竟程序員碰到的都是讓人煩心的技術問題,而經理面對的是項目期限和溝通問題。
但關鍵是,如果經理想要給某人升職的時候,Gabriella就走在了前進的道路了。我已經看到很多次,那些并不偉大的程序員走到了頂端,而很多優秀的程序員卻因爲溝通問題一直留在底層。
做爲一名程序員,是不是應該想想,良好的編程能力是不是決定事業成功的關鍵,還是有時候更需要具備職業技能呢?;