Recommended Reading:

I'm recommending the following books because they have left an impression on me after reading them. I'm trying not to include any that will be outdated very quickly so this isn't an exhaustive list of books I've read, just the ones I think most professional programmers should read.

Building Evolutionary Architectures: Support Constant Change

By: Neal Ford, Rebecca Parsons, Patrick Kua

Clean Architecture: A Craftsman's Guide to Software Structure and Design

By: Robert C. Martin

Team of Teams: New Rules of Engagement for a Complex World

By: General Stanley McChrystal

The Five Dysfunctions of a Team

By: Patrick Lencioni

Software Architecture for Developers - Visualise, document and explore your software architecture

By: Simon Brown

Software Architecture for Developers - Technical leadership and the balance with agility

By: Simon Brown

Punished by Rewards: The Trouble with Gold Stars, Incentive Plans, A's, Praise, and Other Bribes

By: Alphie Kohn

Release It!: Design and Deploy Production-Ready Software

By: Michael T. Nygard

Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation

By: Jez Humble & David Farley

Building Microservices

By: Sam Newman

Collaborative Enterprise Architecture

By: Stefan Bente; Uwe Bombosch; Shailendra Langade

Growing Object-Oriented Software, Guided by Tests

By: Steve Freeman

Search: How The Data Explosion Makes us Smarter

By: Stefan Weitz

Notes To a Software Team Leader

By: Roy Osherove


By: Jason Fried & David Heinemeier Hansson

The Clean Coder: A Code of Conduct for Professional Programmers

By: Robert C. Martin

The Pragmatic Programmer: From Journeyman to Master

By: Andrew Hunt; David Thomas

Domain Driven Design Quickly

By: (Summary of Eric Evans and Jimmy Nilsson's books)

Head First Design Patterns

By: Eric Freeman; Elisabeth Robson; Bert Bates; Kathy Sierra

Clean Code: A Handbook of Agile Software Craftsmanship

By: Robert C. Martin

Code Complete

By: Steve McConnell

Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability

By: Steve Krug

Designing with Progressive Enhancement: Building the Web that Works for Everyone

By: Todd Parker; Patty Toland; Scott Jehl; Maggie Costello Wachs