軟體工程師必讀技術書籍推薦
書籍推薦——按角色劃分
一、軟體工程師
--Clean Code《程式碼整潔之道》
--Implementation Patterns《實現模式》
--Code Complete《程式碼大全》
--Refactoring: Improving the Design of Existing Code《重構——改善既有程式碼的設計》
--Effective Java(第二版)
--Head First Design Patterns《深入淺出設計模式》
--Agile Software Development 《敏捷軟體開發:原則、實踐與模式》
--Object-Oriented Design Heuristics《OOD啟思錄》
--The Art of Readable Code《編寫可讀程式碼的藝術》
--Test-Driven Development By Example《測試驅動開發》
--JUnit in Action《JUnit實戰》(第二版)
--Working Effectively with Legacy Code《修改程式碼的藝術》
--UML Distilled: A Brief Guide to the Standard Object Modeling Language《UML精粹:標準物件建模語言簡明指南》(第三版)
--The Clean Coder:A Code of Conduct for Professional Programmers《程式設計師的職業素養》
--The Productive Programmer《卓有成效的程式設計師》
--Understanding the Professional Programmer《理解專業程式設計師》
--The Pragmatic Programmer: From Journeyman to Master《程式設計師修煉之道——從小工到專家》
二、架構師
--(包含軟體工程師的全部推薦書籍)
--Design Patterns: Elements of Reusable Object-Oriented software 《設計模式——可複用面向物件軟體的基礎》
--Patterns of Enterprise Application Architecture 《企業應用架構模式》
--Practical API Design: Confessions of a Java Framework Architect 《軟體框架設計的藝術》
--Domain-Driven Design: Tackling Complexity in the Heart of Software 《領域驅動設計——軟體核心複雜性應對之道》
--Object-Oriented Analysis and Design with Applications《面向物件分析與設計with applications》(第三版)
--Java Concurrency in Practice《Java併發程式設計實踐》
--Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives《軟體系統架構:使用視點和視角與利益相關者合作》(第二版)
--Design Patterns Explained: A New Perspective on Object-Oriented Design《設計模式解析》(第二版)
--Refactoring to Patterns《重構與模式》
--AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis《反模式——危機中軟體、架構和專案的重構》
--Enterprise Integration Patterns《企業整合模式》
--Domain Specific Languages 《領域特定語言》
--Analysis Patterns: Reusable Object Models《分析模式——可複用的物件模型》
--Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development 《UML和模式應用》(第三版)
--Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design《架構之美》
--Just Enough Software Architecture《恰如其分的軟體架構》
三、需求工程師
--Writing Effective Use Cases《編寫有效用例》
--Specification By Example 《例項化需求》
--Software Requirement Patterns《軟體需求模式》
--Managing Software Requirements: A Use Case Approach,Second Editon《軟體需求管理——用例方法》(第二版)
--Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development 《UML和模式應用》(第三版)
--UML Distilled: A Brief Guide to the Standard Object Modeling Language《UML精粹:標準物件建模語言簡明指南》(第三版)
四、測試工程師
--Test-Driven Development By Example《測試驅動開發》
--ATDD by Example《驗收測試驅動開發》
--Test-Driven JavaScript Development《測試驅動的JavaScript開發》
--How Google Tests Software《Google軟體測試之道》
--Specification By Example 《例項化需求》
--JUnit in Action《JUnit實戰》(第二版)
五、專案經理/技術經理
--The Mythical Man-Month: The Essays on Software Engineering《人月神話》(第二版)
--Peopleware : Productive Projects and Teams人件(第二版)
--Extreme Programming Explained: Embrace Change《解析極限程式設計——擁抱變化》(第二版)
--User Stories Applied《使用者故事與敏捷方法》
--Agile Estimating and Planning《敏捷估計與規劃》
--Scrum and XP From the Trenches《硝煙中的Scrum和XP》
--Lean from the Trenches: Managing Large-Scale Projects with Kanban《精益開發實戰——用看板管理大型專案》
--I. M. Wright’s“Hard Code”:A Decade of Hard-Won Lessons from Microsoft《程式碼之殤》(第二版)
--The Software Development Edge: Essays on Managing Successful Projects《軟體開發的邊界——管理成功的專案》
--Manage It!: Your Guide to Modern, Pragmatic Project Management《專案管理修煉之道》
--Behind Closed Doors: Secrets of Great Management《門後的祕密:卓越管理的故事》
--Death March《死亡之旅》(第二版)
六、公司高管
--The Mythical Man-Month: The Essays on Software Engineering《人月神話》(第二版)
--Peopleware : Productive Projects and Teams人件(第二版)
--The Fifth Discipline: The Art & Practice of The Learning Organization《第五項修煉:學習型組織的藝術與實踐》
--The Effective Executive《卓有成效的管理者》
--Becoming A Technical Leader:An Organic Problem-Solving Approach《成為技術領導者——解決問題的有機方法》
七、每個人
Are Your Lights On? How to Figure Out What the Problem Really Is《你的燈亮著嗎?——發現問題的真正所在》