软件公司书籍推荐——按角色划分
一、软件工程师
--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《你的灯亮着吗?——发现问题的真正所在》