英文原文:Good Developer, Bad Developer,編譯:iteye
本文來自Totango的聯合創始人兼CEO蓋伊•尼爾帕茲(Guy Nirpaz),他在本文中列出了優秀的開發者和糟糕的(或還需努力的)開發者之間的區別。
如果你認為使用“優秀”和“糟糕”來區分開發者不妥的話,也可以將這些看作是初級開發者和資深開發者之間的區別。但無論如何,多看看其他的優秀開發者(或資深開發者)是如何做的,對於自身技能、工作方式的提升有很大的幫助。
文章內容如下:
優秀的開發者是一個藝術家,一個享受創作過程的工匠。糟糕的開發者只將自己當作負責產生程式碼的碼農。
優秀的開發者瞭解客戶的問題。糟糕的開發者只瞭解手頭的技術問題。優秀的開發者會不斷努力去理解“為什麼”,然後去實現,同時能夠把握大局。糟糕的開發者專注於構建類、方法和配置檔案,而不理會大局。
優秀的開發者瞭解產品的完整架構。糟糕的開發者只知道他寫的元件。優秀的開發人員充分理解在產品中使用的技術,瞭解它們的用途,以及它們在內部如何工作。
優秀的開發者不害怕新技術,並能夠很快掌握。糟糕的開發者只堅持他目前掌握的技術,對於任何技術變化持否定態度。
優秀的開發者通過不斷學習來提高自己的技能,他們經常閱讀技術文章和書籍。糟糕的開發者沒有時間來學習,他們總是太忙了,以致於不能幹其他事情。
優秀的開發者關心產品的質量,同時也非常關注過程質量,他們努力創造無缺陷的程式碼。糟糕的開發者將bug留給QA去發現,然後再修復。
優秀的開發者為客戶開發能夠創造價值的功能,糟糕的開發者只是想完成任務。優秀的開發者不會聲稱需求描述是不完整的,並確保充分理解這些特性。糟糕的開發者會等到需求細節完善後才開始工作。優秀的開發者總是確保擁有產品功能的相關資訊,一旦資訊丟失,他會想辦法再得到它。
優秀的開發者不害怕在產品中加入其他人的程式碼,而糟糕的開發者會擔心別人使用他的程式碼。優秀的開發者認為不應該花費過多的時間來寫不言自明(self-explanatory)和顯而易見(well-documented)的程式碼。糟糕的開發者總是需要分配額外的時間來記錄和簡化程式碼。
優秀的開發者永遠不會覺得自己的程式碼已經足夠好,相反會持續不斷地整理和修復。他們始終致力於創造優雅的解決方案,認為他的工作是向客戶提供價值。糟糕的開發者只考慮自己程式碼是否優雅,將創造價值的工作留給別人。