如何成為一名優秀的軟體工程師

infoq發表於2014-09-22

  成為一名優秀的軟體工程師是每一個軟體工程師的目標,但是在實際中,優秀的軟體工程師和一般的軟體工程師的表現肯定是參差不齊的,這是什麼原因造成的呢?這是一個我們必須反思的問題,同時還是一個關乎團隊建設和個人成長的重要問題。Katsuya Noguchi總結了優秀的軟體工程師和一般的軟體工程師的不同表現,為如何成長為優秀的軟體工程師提供了啟發和指導。

  現對這些不同點進行了整理更新,具體內容如下:

 1、編寫高質量的程式碼

  良好的程式設計習慣不但有助於程式碼的移植和糾錯,也有助於不同技術人員之間的協作。優秀的軟體工程師都具有良好的程式設計習慣,他們編寫儘量少的程式碼即可滿足需求,還能夠引入恰當的抽象層次,重構程式碼,將業務邏輯和其他程式邏輯分離。

  一般的軟體工程師編寫不出高質量的程式碼,他們只關心自己的程式碼是否能夠達到預期的輸出結果,只要有輸出結果,就認為自己的任務完成了,根本不在乎程式碼的可維護性和可讀性。

 2、快速、高質量的產出

  優秀的軟體工程師能夠在程式碼質量和開發所耗時間上做出很好的權衡,能夠嚴格控制技術風險,不斷完善自己,能夠在有限的時間內寫出高質量的程式碼。

  一般的工程師寫出的程式碼質量很低,還聲稱是最優的設計,時間限制常常是他們怠工的藉口。他們的程式碼會給企業帶來很大的負擔,並給團隊成員留下一大堆問題。

 3、解決問題能力

  優秀的軟體工程師不會盲目地編寫專案程式碼,他們會確定每個問題的目標,找出問題的根本原因,並找到解決問題的合理方案。優秀的軟體工程師會將大問題分拆為小問題,針對小問題進行理解、構思、計劃、維護和重用。

  一般的軟體工程師只是匆忙編碼,解決所分配的問題,不會進一步思考正在解決的問題,從不考慮長期影響。

 4、正確的決定

  優秀的軟體工程師深知沒有完美的設計、服務和工具,他們還深刻理解可選方案以及實際狀況的約束並能做出適當的權衡。

  一般的軟體工程師只是盲目地使用當前比較流行的服務、設計和工具,而不做更深一步的理解和研究。

 5、團隊精神

  團隊精神和協作能力是程式設計師應該具備的最基本素質,優秀的軟體工程師所寫的程式碼不僅能夠讓機器高效地執行,更重要的是能夠方便其他工程師閱讀、改進和使用。他們寫測試用例,確保所寫程式碼的正確性,還能夠方便其他人對程式進行改進。他們充分利用審查和使用程式碼的機會,學習其他部分的程式碼、分享程式碼風格、控制整個程式碼的質量。他們認識到並且堅信,程式碼審查的過程是相互學習和提高整個工程團隊產出質量的最佳時機之一。他們的評論能夠幫助團隊成員成長,他們考慮整體設計、邊緣情況、格式改進及提高程式碼整體質量的其他優化措施。

  一般的軟體工程師根本就不關心自己程式碼的可維護性和可讀性,他們很少寫測試用例,除非寫測試用例是指派的任務。

 6、洞察力

  優秀的軟體工程師具有長遠的眼光,使他們能夠承擔起各種困難的軟體專案,他們經歷過無數的非預期任務,如被喊去解決線上伺服器的問題,處理積累了很多技術債的程式碼以及面對較為緊張的期限。

  一般的軟體工程師對發生的問題從不積極響應,還責怪別人處理不當;當事情進展不順時,他們很容易失去信心或推卸責任,不主動、不認真地解決問題。

相關文章