程序員在英文里對應有三個單詞:Coder、Programmer 和 Software Engineer。
我覺得這三個詞,生動形象地描述了程序員所需要經歷的三個階段,或者說三個境界:
- Coder:只要求能夠熟練使用編程環境,精通幾種編程語言、開發框架和開發庫,擅長寫代碼就可以了。這個階段的程序員能夠按照既定的設計完成編碼。
- Programmer:要求在 Coder 的基礎之上,精通設計模式、算法實現和編碼技巧,並具備熟練應用的能力,這個階段的程序員能夠獨立編碼解決現實問題。
- Software Engineer:要求在掌握業務知識的前提下,理解為什么這么實現,在綜合考慮架構實現,權衡開發成本后,為解決業務問題提出最優方案,並能與業務人員順暢溝通,讓業務人員理解方案。
