Book recommendation (from Douban)
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
-- Tive Java (version 2)
-- Head first design patterns: in-depth introduction to 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 extends tively with legacy code "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 effective 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
-- (Contains 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 effecect "Art of Software Framework Design"
-- Domain-driven design: Tackling complexity in the heart of software: domain-driven design-the way to deal with software core 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 Mode
-- Antipatterns: refactoring software, ubuntures, and projects in crisis anti-pattern-reconstruction of software, architecture, and projects in crisis
-- Enterprise integration patterns enterprise integration mode
-- 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-Use 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 "Death Journey" (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 maximum th discipline: The Art & Practice of the learning organization 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