Good Developer, Bad Developer

Good developer 享受在 build product 中間創作的過程; bad developer 覺得自己只是一個 programmer, 負責產出一行一行的 code

Good developer 了解自己工作的價值來自解決客戶的問題; bad developer 只 care 技術上面的挑戰

Good developer 雖然主要在參與 feature 產出過程中的 “how”, 但他們持續了解 “why”, 並了解整個團隊的大方向; bad developer 只 focus on classes and methods and configuration files, 對整個產品的大方向不屑一顧

Good developer 眼中的 done, 不只是完成 feature 推到 production, 還包括好的規劃、好讀的 code, 以及完整的測試; bad developer 定義的 done 只要 code 推到 production 就可以了,後面就算功能缺東缺西,或是還要花 3,4 個月的時間去收尾 debug,bad developer 也覺得原本就該是這樣

Good developer 擔心自己的 code 會有問題,所以自己會嚴謹地測試自己的程式; bad developer 仰賴 PM / QA 來證明他的程式有問題

Good developer 試著改善開發的流程; bad developer 總是在救火

Good developer 了解手上的 code 是怎麼運作,什麼狀況可行,什麼狀況不可行; bad developer 只要他寫的東西有時候可以跑得起來就好了,也不想知道為什麼有的時候他的 code 會壞掉

Good developer 擁抱新知,他們花時間讀科技文章, 讀相關領域的好書; bad developer 覺得每天光解票就飽了,沒有時間學習新的東西

面對新技術的時候,good developer 謹慎評估導入的可行性。他們不一味追求最新最潮的技術,而是在評估覺得可行之後,協助 team members 逐步地導入; bad developer 看到很酷的技術就想用一下,直接在自己負責的 feature 裡面試玩,也不想花時間教育其他 team member 這個技術如何運作,又或是他自己有哪些 lesson learned

Good developer 在面對 spec 不清楚的時候,不會只是坐以待斃,而是會主動去厘清,並幫助 PM 了解一些沒有考慮到的狀況; bad developer 只會坐等 deadline 超過,PM 來問的時候,才會說 PM 當初有一個地方的 spec 沒有交待清楚

在 feature 進行中,good developer 扮演一個火車頭的角色,不管 code 是卡在 code review 或是 QA, 他盡其可能去讓這個 feature 完成上線,他知道沒有上線,沒有帶給 user 價值的修改都是沒有意義的;bad developer send a pull request 就覺得任務完成,even pull request 一個禮拜沒有人看,也會覺得自己已經發了 PR , 剩下沒有自己的事

Good developer 主動在 asana 或口頭跟 team members & PM update 自己的進度; bad developer 總是要人家問才會告知自己其實卡關在某個地方很久了

Good developer 覺得抱怨得再多也是沒有幫助,他們試著就能力範圍所及,逐步改善舊有程式的 code quality; bad developers 總是在抱怨前人的 code 有多髒多亂

p.s. inpired by Ben Horowitz Good product manager, Bad product manager, and Guy Nirpaz 這篇文章, Quora 的問答, ajmurmann’s sharing on github

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.