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