Books I've found helpful or want to read soon
Before you get into it: I've sorted these to make them easier to browse, but I'm
not totally satisfied with the categories — they don't do the books
justice. So, take the headings with a grain of salt.
Books about how to structure your software
Building Evolutionary Architectures
How to build software that maintains its virtues as it grows and changes
Tackling Complexity in the Heart of Software
How to architect software to make that solves real problems and can
be adapted easily to solve new problems (by making it easy to
collaborate with non-technical domain experts).
Improving the Design of Existing Code
Detailed instructions and examples about how to change code without breaking it.
Elements of Reusable Object-Oriented Software
An inventory of ways to structure your code to solve certain technical
problems (including examples and notes on when to prefer one over the
Process & People
Books about software development process and how we collaborate
Software Design X-Rays
Fix Technical Debt with Behavioral Code Analysis
Uncovering coupling, pain-points, technical debt, who has what
expertise, team boundaries, and many other useful things using your
git repository, git commands, and bash.
Banish Waste and Create Wealth in Your Corporation
How to focus on the useful things and remove the useless things so you
can deliver more value more effectively. Many case studies.
Advice about professional attitudes and values that lead to healthy
and effective software development
The Practice of Creativity
A Manual for Dynamic Group Problem-Solving
How to run a really effective brainstorming session
Don’t Make Me Think!
A Common Sense Approach to Web Usability
Defensive Design for the Web
How to improve error messages, help, forms, and other crisis points
Want to Read
User Story Mapping
Discover the whole story, build the right product
Working Effectively with Legacy Code
Extreme Programming Explained
An Elegant Puzzle
Systems of Engineering Management