Every so often I see threads on various software engineering websites asking for lists of book recommendations. Over the years I’ve built up quite a decent collection based on those lists ranging from how to structure code to following your heart.
Here is my aggregation of recommended must reads for every software professional:
Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman
David Hoover, Adewale Oshineye
A book on software craftsmanship. Learn to embrace the craft of code and exceed expectations of your customers, coworkers, and self. Targeted at new developers, but everyone can really benefit from this.
Learn how to communicate and write easy to follow self documenting code.
An extremely long, but relatively easy read. This book contains an incredible amount of topics guiding you to writing better code.
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
A classic patterns book that provides typically simple solutions to regularly occurring design problems. Uses c++ for example code, but easy enough to follow with any sort of object oriented programming knowledge.
Refactoring: Improving the Design of Existing Code
Learn the techniques of effective refactoring.
The Architecture of Open Source Applications
A collection of writings from various popular open source projects and their design/architectures.
Learn how to appreciate and understand good & bad design. Understand concepts like discoverability, constraints, and feedback.
The Pragmatic Programmer: From Journeyman to Master
Andrew Hunt, David Thomas
46 indispensable tips for software professionals that help guide you to writing better code and being a better team member.
How to Win Friends & Influence People
Life skills book. Learn how to authentically interact, appreciate, and ethically manipulate people.
Many simple ideas and explanations to help you deal with everyday life and figure out what is truly important.
Learn how to read situations and take control. Audio book is recommended, Oren is a great story teller.
Through the the journey of a young shepherd named Santiago you should learn about following your heart and finding your way in the world.
You Can Negotiate Anything: The World's Best Negotiator Tells You How To Get What You Want
Learn how to deal, react to, and resolve difficult situations.