20 Things I've Learned in my 20 Years as a Software Engineer
標題我差點要說是「開發者的20道陰影😅」…
翻譯的比例約是85%,其他的部分則是我的消化內容,若堅持要看原文的,我覺得沒太大問題。他用字不難,文法不刁,很推薦。👍
說在前面
網路上關於軟體開發的忠告很多,雖然從前人的智慧結晶中吸取重要的成功經驗很好,但我們一定要謹記在心的是,任何的忠告都有它適用的環境,沒有任何一個忠告是可以在什麼狀況都通用的。就像一樣是軟體產品,有人會建議你要定價要高一點,才回收得了整個開發成本,但20年後公司在軟體產品的定價要低一點,才能獲取更多的用戶,獲得更大的成功;在開發出指標性殺手級App的公司,後來可能會軸轉(Pivot)開發方向,將所有元件功能開發成微服務(Microservices),然後也這樣子建議其他的開發者。
若你沒有搞清楚所在的環境是什麼樣子,這些忠告或建議並沒有什麼意義。硬是照著這些早期的忠告,可能只會讓事情變得更糟。僅管這些忠告真的是實務的智慧結晶,但我們仍需記得以現在的環境及視角,來看待這些忠告是否還合宜。在經過小公司和大公司的軟體產品研發經歷後,以下就是經過20年的軟體開發經歷後,我學到最重要的20堂課。