想提升自己?這5本軟體工程新書別再錯過了
鏈接:https://medium.com/ki-labs-engineering/top-5-contemporary-software-engineering-books-8b5ca6a28e83
如果你從事軟體工程已經有一段時間了,並且喜歡閱讀,那麼你可能已經讀過了《代碼整潔之道》、《重構》、《人月神話》、《人件》等,不得不說,他們都是經典中的經典,本文猿哥還將推薦5本新書,都是近一兩年才出版的,你不用擔心它過時。
這五本書涵蓋了多個領域,如軟體設計和管理甚至涉及到「人員問題」,每一本書的推薦我都說明了為什麼我認為你應該閱讀這本書的原因。
1、《Software Design X-Rays》
本書這是我讀過的關於軟體工程的最重要的書之一。亞當·托恩希爾(Adam Tornhill)還有另一本書《Your Code as a Crime Scene》是關於代碼分析和「代碼健康」這一主題。
在書中作者展示了許多技術(大部分是基於版本控制系統的數據)用於識別熱點,複雜性趨勢,耦合,或者重構。所有的材料都匹配了相應的例子,參考資料和一些有趣的圖例。讀完這本書後,你可能會問自己:如何做到將自己學到的新知識應用到的開發過程中,並且讓身邊的同事認可這些方法。
為什麼你應該閱讀這本書?
通過這本書,你將學習如何分析代碼庫,如何保持代碼健康,以及如何組織團隊創建更加可持續的工作。如果你是位負責任的軟體工程師,架構師或工程經理,那本書一定要去閱讀
較舊/類似的書籍
《Your Code as a Crime Scene》,此外本書某些部分和這些書的主題一樣:《修改代碼的藝術》、《重構》、《架構整潔之道》
2、《A Philosophy of Software Design》
本書介紹了John Ousterhout自己在各種大型系統上工作的經驗以及他的斯坦福大學課程,將自己的教學方法和多年的系統開發經驗相結合,以此探討關於系統複雜性。如果有人讓我推薦關於提高編碼和設計技巧的書,那一定是這一本。
為什麼你要讀這本書?
《軟體設計的哲學》的核心主題是簡單性,因此,本書本身很容易理解,單單深度和淺層模塊的章節就對得起本書的價格了,同時它還討論了一些流行的實踐方法,如OO設計模式以及關於代碼整潔的小方法等。
較舊/類似書籍
《代碼大全》、《編寫可讀代碼的藝術》、《代碼整潔之道》
3、《數據密集型應用系統設計》
通過諸如雲本地應用程序、微服務架構或NoSQL數據存儲,對分散式系統和數據的特徵進行討論。這本由研究員兼軟體工程師Martin Kleppmann撰寫的書解釋了數據驅動應用程序的理論和實踐,從本書你就能看出作者對該領域的認識有多深刻(畢竟,只有你對一個主題有深刻的認識,你才能教好它)。
為什麼你要閱讀這本書?
分散式系統是一個存在大量研究的領域,對該主題的討論很容易成為一個學術問題,Kleppmann在保證深度的前提下以一種通俗易懂的方式向讀者解釋,和《Software Design X-Rays》有點類似,本書在實用性和學術性之間取得一個很好的平衡
較舊/類似書籍
《Somehow related: Designing Distributed Systems》、《 Building Microservices》、《企業應用架構模式》
4、《Developer Hegemony》
這本書可能是我讀過的所有書中最獨特的一本,不過我不會向初級軟體工程師推薦這本書,雖然這本書寫的非常好。它解釋了公司結構、管理風格和職業階梯背後的驅動力。
為什麼你應該閱讀這本書?
如果你是在金字塔式的公司結構中工作,那它會教你如何生存,如果你已經從事軟體工程已經有一段時間了,你可能會在你的同事、領導甚至是公司政策上已經發現到一些現象,這本書它揭示了如何在不強迫別人的情況下,讓事情朝著對你有利的方向發展
較舊/類似書籍
可能沒有,或者是《人月神話》、《人件》、《項目百態 》
5、《The Manager』s Path》
作為軟體工程師,你的經驗越豐富,就越需要在管理和領導方面承擔起更多的責任,經理的職業道路涵蓋了從單個團隊的工程領導到管理多個團隊並代表公司的技術領導。這是一本關於科技公司的技術領導、管理和人員主題的實用而真實的書——沒有戲劇化和膚淺的建議。
為什麼你應該閱讀這本書?
儘管這本書主要是關於工程管理的,但是對於軟體工程師來說,這本書是很有價值的。你將了解團隊功能障礙、項目管理以及軟體開發過程中常見問題的解決方案。也許不是開創性的,但如果你只想讀一本關於工程管理的書,我推薦這本書,因為它包含了許多實用和可行的建議。
較舊/類似書籍
《格魯夫給經理人的第一課》、《Debugging Teams》、《人件》、《人月神話》
本文轉載自【程序員書庫】


TAG:程序員之家 |