優秀程序員所具備的7個好習慣
英文原文:Seven Habits of a Great Programmer
當我們被采訪的時候,常常會問及這樣一個問題——一個偉大的程序員需要具備哪些特質。大多數人回答的是邏輯、機智、耐心以及勤奮。對于這個問題,其實并沒有標準答案,但是除了這些特質,習慣也是非常重要的因素。而這一點則只能在已經進入正軌的團隊組織中可以窺見。
除了必需的技術技能和邏輯能力,下面講一下一個團隊應該具備怎樣的好習慣:
1. 良好的時間管理
遲到對于任何一家公司都是個頭痛的問題。作為一個程序員,有時候為了完成任務常常不得不熬夜,從而導致第二天上班就遲到了。但是我們忽略了這一點,我們的工作時間至關重要,因為在這段時間里我們要和客戶同步,也要與團隊其他成員一齊協作。
2. 深入理解客戶需求
僅僅了解單一用戶的表面意思是遠遠不夠的。一個偉大的程序員應該具備能把繁瑣的要求理解并分解成項目的技術任務或子任務的能力,并且最后拿到的成果應精確滿足客戶的需求。
3. 在編程之前準備好全套算法
案例、偽代碼和流程圖統統都是非常重要的軟件開發手段。一個偉大的程序員如果沒有先準備好算法,那么他是不會像傻小子一樣興沖沖地開工寫代碼的。寫代碼實際上只是一個編碼任務。
4. 理解并幫助定義驗收標準
是否需要高層次測試腳本是由產品所有者決定的,但是一個偉大的程序員必須能夠編寫技術測試腳本,并且深刻認識到跳過這些步驟可能會帶來的后果。
5. 絞盡腦汁還是“NO”
假如抓耳撓腮還是找不出解決辦法,我們該如何是好?一個偉大的程序員應該足智多謀,能靈活應對困境。他們會去詢問同事,或者是向團隊領導者請 教;在互聯網上面搜索,然后耐下心來一遍又一遍地試驗。相信山窮水盡疑無路,柳暗花明又一村,投降兩個字從未出現在他們的字典上。
6. 承認自己的缺陷
性格內向就是其中一個對于我們大多數程序員而言很常見的軟技能問題。但是一個偉大的程序員一旦知道自己的不足之處之后,會立刻主動改善自我,并且積極執行“客戶第一”的服務理念。
7. 主動
優秀的程序員不需要別人告訴他怎么做,他的主動性更強。他有這個自覺,會主動去關注流程;改善能增強軟件開發生產力的工具,例如 SVN;提高應用程序的靈活性以及解決軟件開發中發現的 Bug。
最后,我想說的是,無論你是職工還是自由職業者,要明確一點——軟件開發的目的是為客戶服務。一個偉大的程序員深刻明白每一個任務的價值并且尊重他人的成果,對其嘔心瀝血的過程感同身受!
譯文鏈接:http://www.codeceo.com/article/7-habits-good-programmer.html
翻譯作者:碼農網 – 小峰