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