1. 程式人生 > >程式設計師:程式設計能力VS溝通能力,哪個更重要

程式設計師:程式設計能力VS溝通能力,哪個更重要

即便不是偉大的程式設計師,你也可以走的更遠。

  每個程式設計師應該具備 2 種能力,即程式設計能力和個人的職業技能。

  程式設計能力意味著你寫的程式碼是可靠,高效能,易維護的。這跟程式設計師花費的時間,他的思維,以及廣泛的閱讀有關。

  職業技能讓你成為一個好的員工,好的同事。這需要反應敏捷,有良好的溝通,明白期限,及時公開的反饋,能清楚解釋複雜的事物等能力。

  一個極端的例子。

  想象有 2 個人。

  Rodrigo 是麻省理工的畢業生,在他的空閒時間裡面他在編寫一個編譯器。他是 Haskell 核心的貢獻者,並且開發了一些著名的 Python 包。一般情況下,他的程式碼具有很強的可讀性,並且完美的處理邊界問題。不過,他需要幾天的時間才會回覆一封郵件,很少拿起電話,不明白最後期限的重要性。他做事情有自己的方式,看上去很散漫,你不能明白他的思想。

  Gabriella 不是一個很好的程式設計師,她的程式碼像一個業餘的人寫的。她用 30 行的程式碼完成一個僅用 15 行就可以搞定的事情,QA 需要把大量時間花在她的 bug 上。然而,她的反應令人難以置信 — 她在幾分鐘之內回答電子郵件,從不錯過一個電話,她是一個偉大的溝通者,能夠很清楚地向客戶解釋複雜的技術問題,她從未錯過最後期限,她不斷的通過反饋來提高她的工作效率,並且跟她很容易溝通。

  所以,你會在工作中跟誰搭檔?

  什麼是真正重要的?

  以我的經驗來看,一個程式設計師想跟 Rodrigo 做同事,而一個經理想要 Gabriella 做同事。

  這是有道理的,畢竟程式設計師碰到的都是讓人煩心的技術問題,而經理面對的是專案期限和溝通問題。

  但關鍵是,如果經理想要給某人升職的時候,Gabriella 就走在了前進的道路了。我已經看到很多次,那些並不偉大的程式設計師走到了頂端,而很多優秀的程式設計師卻因為溝通問題一直留在底層。

  做為一名程式設計師,是不是應該想想,良好的程式設計能力是不是決定事業成功的關鍵,還是有時候更需要具備溝通技能呢?