為提供您更多優質的內容,本網站使用 cookies 分析技術。若繼續閱覽本網站內容,即表示您同意我們使用 cookies,關於更多 cookies 資訊請閱讀我們的 隱私權政策
線上課程
本文譯自〈Good Software Engineer / Bad Software Engineer〉,作者為 Color Genomics 軟體工程師 Katsuya Noguchi。
六大特質看出軟體工程師好壞

優秀(good)的工程師,與糟糕(bad)的工程師,到底有什麼差別?身為一名軟體工程師,這是一個我們經常必須捫心自問、並與其他人相互詰問的問題,以建立出色的團隊,並且自我成長。Ben Horowitz 撰寫的〈優秀的產品經理/糟糕的產品經理〉啟發了我,寫出軟體工程師的版本。以下是優秀工程師的特徵,不分順序。

寫出好的程式

優秀的工程師遵循風格指南(style guide),優秀的工程師能為程式碼恰如其分的命名,優秀的工程師能夠精確的描述程式,而不帶有強烈的個人意見,優秀的工程師寫出的程式儘可能的簡潔,優秀的工程師應該盡量把程式抽象化以防止功能彼此干擾,優秀的工程師在程式庫逐漸豐富的過程中,能夠時常修改程式內部結構(refactor),優秀的工程師能將商業邏輯與程式邏輯區隔清楚。

糟糕的工程師只在乎程式最終是不是有得出自己預期的結果,如果他們看到結果了,就代表工作結束了。

動作快,品質佳

優秀的工程師懂得在品質與時間壓力之間做出取捨,他們掌握技術負債的狀況,而且可以盡快「償還」負債,避免一發不可收拾。優秀的工程師要求自己在有限時間內寫出品質最好的程式,不斷追求進步,追求卓越。時間緊迫,從來不該成為寫出破爛程式的藉口。

糟糕的工程師抱著「趕快把事情搞定」,交差了事的心態,產出亂七八糟的程式,聲稱自己為大家節省了時間。殊不知他們寫出的程式會成為團隊的負擔,終究得要有人出面替他收拾殘局。

追根究底的精神

優秀的工程師從不盲目而行,他們質疑每個問題,以判斷手上的專案出現的到底是真正的麻煩,抑或只是表面的症狀。

他們懂得找出問題的根源,以揪出導致「表面症狀」的深層原因。他們一方面理解細節,一方面也能綜觀大局,確認自己正在著手解決的是真正的問題。

糟糕的工程師則是一個口令一個動作,從不對他們被要求解決的問題發出疑問。盲目地執行無法產生價值,這種行為儘管在短時間內可以見到效果,卻可能不利長期發展。

延伸閱讀

  1. 1 從新手到年薪300萬的程式設計師,成功的秘訣在於「深度工作力」
  2. 2 「PM只會出張嘴、改需求…」從RD抱怨文,談產品經理該做的事
  3. 3 精準用人學,獵頭CEO的獨門心法
  4. 4 頂尖經理人:從自我養成到跨國管理15堂課