我有整理一些我自己讀過推薦的書籍,也放上來給你參考一下:https://91-tdd.hackpad.com/91–SCin8rM6vpI
扣掉 .NET & C# 那一段,絕大部分就都在軟體工程的範圍裡面。
如果你對整塊軟體開發 whole picture 還沒有完整的概念的話,建議可以先看幾本比較輕鬆的書:
1. 軟體項目成功之道
2. 軟體構築美學
3. 程式師修煉之道 – 從小工到專家 – 亨特
4. 高效程式員的 45 個習慣-敏捷開發修煉之道
5. Clean Code
6. 人月神話 (你沒看錯,這不是只給管理者看的屁話,裡面也有歷久不衰的設計建議)
這些只是 whole picture 的入門款,但我相信如果你是潛在對這一塊有興趣的,會很輕鬆、興奮地一路讀下去。
如果光前兩本你就讀不下去了,那可能就是對整塊沒興趣,只對寫程式有興趣。(也沒什麼不好的)
就去看重構三部曲、design pattern、單元測試、TDD 相關的書,還有該語言深入版的書。(以 C# 來說就是 C# in depth 跟 CLR via C#)
by the way,有很多人的「現代軟體工程」幾乎都是指向「敏捷開發」,如果對敏捷也能有興趣,而且實務上有機會使用、練習、導入,那這條路也是值得投資的路線。
很多人會講台灣哪幾間公司 run 地起來敏捷,而且還是真敏捷?那在台灣根本都是屁。
我沒法完全否認這件事,但我想說的是,有沒可能就是因為你不熟不會沒興趣,所以你只能挑那些把敏捷當屁的公司呢?
重點還是在,自己的興趣在哪?如果說不出來、找不到,那應該先找自己有興趣的方向,因為只有找到這,你才會在那一塊上面樂此不疲地投資心力跟時間,才能累積對應的價值。
把自己有興趣(或找到興趣)的幾個方向領域確認後,開心快樂地深入它,接著就是要把這幾塊結合出綜效出來,即使只是技術人員,你的價值和薪資天花板,也會跟一般人差距很大…
(本文刊登於 PTT Soft_Job 版,並獲作者 landlord 授權刊登轉載,原討論串為〈 [ 請益 ] 學「軟體工程」前需具備什麼能力?〉。作者部落格:《In91》,作者粉絲團《91 敏捷開發之路》,圖片來源:mer chau CC Licensed,未經授權請勿轉載。)