I. Software Engineers
- Clean code: clean code
- Implementation patterns Implementation Mode
- Code complete code Daquan
- Refactoring: improving the design of existing code refactoring-improving the design of existing code
- Valid Java (version 2)
- Head first design patterns deep dive into Design Patterns
- Agile Software Development: principles, practices and models
- Object-oriented design heuristics
- The art of readable code: The art of writing readable code
- Test-driven development by example test-driven development
- JUnit in action JUnit practice (version 2)
- Working implements tively with legacy code "the art of code modification"
- UML Distilled: a brief guide to the standard Object Modeling Language UML essence: A Concise Guide to standard Object Modeling Language (Third edition)
- The Clean coder: A Code of conducting CT for professional programmers professional qualities of programmers
- The productive programmer productive programmers
- Understanding the professional programmer understanding professional programmers
- The pragmatic programmer: From journeyman to master: The way programmers practice-from small workers to experts
2. Architect
- (Including all the recommended books for software engineers)
- Design Patterns: Elements of reusable object-oriented software design patterns-Basics of reusable Object-Oriented Software
- Patterns of enterprise application architecture model
- Practical API design: Confessions of a Java framework architect "Art of Software Framework Design"
- Domain-driven design: Tackling complexity in the heart of software: domain-driven design-how to deal with core software complexity
- Object-oriented analysis and design with applications Object-Oriented Analysis and Design with applications (Third edition)
- Java concurrency in practice Java concurrent programming practices
- Software Systems Architecture: working with stakeholders using viewpoints and perspectives Software System Architecture: working with stakeholders from a point of view and Perspective (version 2)
- Design Patterns explained: A New Perspective on object-oriented design Design Pattern Analysis (version 2)
- Refactoring to patterns reconstruction and Pattern
- Antipatterns: refactoring software, ubuntures, and projects in crisis anti-pattern-reconstruction of software, architecture, and projects in crisis
- Enterprise integration patterns Enterprise Integration Model
- Domain Specific editions domain-specific languages
- Analysis Patterns: Reusable object models analysis mode-reusable Object Model
- Applying UML and patterns: An Introduction to object-oriented analysis and design and iterative development UML and pattern application (Third edition)
- Beautiful architecture: leading thinkers reveal the hidden beauty in software design the beauty of Architecture
- Just enough software architecture appropriate software architecture
Iii. Requirement Engineer
- Writing valid tive use case
- Specification by example instantiation requirements
- Software Requirement patterns software demand model
- Managing software requirements: A use case approach, second Editon software requirement management-case method (version 2)
- Applying UML and patterns: An Introduction to object-oriented analysis and design and iterative development UML and pattern application (Third edition)
- UML Distilled: a brief guide to the standard Object Modeling Language UML essence: A Concise Guide to standard Object Modeling Language (Third edition)
Iv. test engineers
- Test-driven development by example test-driven development
- Atdd by example Acceptance Test-driven development
- Test-driven Javascript development test-driven Javascript development
- How Google tests software: Google software test path
- Specification by example instantiation requirements
- JUnit in action JUnit practice (version 2)
5. Project Manager/Technical Manager
- The Mythical man-month: the essays on Software Engineering Mythical man-month (version 2)
- Peopleware: productive projects and teams (version 2)
- Extreme Programming explained: Embrace change resolution eXtreme Programming-Embracing Change (version 2)
- User stories applied user stories and agile methods
- Agile estimating and planning agile estimation and planning
- Scrum and XP from the trenches scrum and XP in smoke
- Lean from the trenches: Managing large-scale projects with Kanban lean development practices-using dashboards to manage large projects
- I. M. Wright's "hard code": a decade of hard-won lessons from Microsoft coding (version 2)
- The software development edge: Essays on managing successful projects Software Development Boundary-managed projects
- Manage it! : Your Guide to modern, pragmatic project management practices
- Behind Closed Doors: Secrets of great management the secret behind the door: The story of superior management
- Death March journey to death (version 2)
Vi. company executives
- The Mythical man-month: the essays on Software Engineering Mythical man-month (version 2)
- Peopleware: productive projects and teams (version 2)
- The practice th discipline: The Art & Practice of the learning organization the fifth practice: the art and practice of a learning organization
- The effective executive effective manager
- Becoming a technical leader: an organic problem-solving approach becoming a technology leader-an organic solution to problems
7. Everyone
- Are your lights on? How to figure out what the problem really is your light on? -- Locate the real problem
Programming Book recommendation-by role