As our profession grows and matures, it becomes more and more important for us to develop a sense of what it means to be a software professional. Analogies to existing professions are easily drawn. Precision and analytical problem solving are essential. So are we engineers? Creativity and willingness to try things we've never done are core to success. So are we artists? We are a new breed of professional that draws on but is unique from what has come before.
- Utah Code Camp on 11 November 2017
23. READING LIST
The Software Craftsman - Pete McBreen
Software Craftsmanship - Sandro Mancuso
The Pragmatic Programmer - Dave Thomas & Andy Hunt
Code Complete - Steve McConnell
Head First Design Patterns - Freeman, Bates, Sierra, Robson
Domain Driven Design - Eric Evans
Mindset - Carol Dweck
Drive - Dan Pink
Predictable Irrationality - Dan Ariely
The Blank Slate - Steven Pinker
Thinking Fast and Slow - Daniel Kahneman
How Adam Smith Can Change Your Life - Russ Roberts
Learned Optimism - Martin Seligman
Strengths Based Leadership - Tom Rath, Barry Conchie
The Lean Startup - Eric Ries
Radical Candor - Kim Scott
Test-Driven Development - Kent Beck
Growing Object-Oriented Software Guided by Tests - Freeman,
Price
The Phoenix Project - Gene Kim
Continuous Delivery - Jez Humble
Clean Code - Bob Martin
Refactoring - Martin Fowler
Just Enough Software Architecture - George Fairbanks
Patterns of Enterprise Application Architecture - Martin Fowler
Building Microservices - Sam Newman
Agile Software Development - Alistair Cockburn
Extreme Programming Explained - Kent Beck
This is Lean - Niklas Modig
The Mythical Man-Month - Fred Brooks
The Principles of Product Development Flow - Don Reinertsen
The Design of Everyday Things - Don Norman
Don't Make Me Think - Steve Krug
Inspired - Marty Kagan
The Halo Effect - Phil Rosenzweig
The Advantage - Patrick Lencioni
Peopleware - DeMarco & Lister
The Five Dysfunctions of a Team - Patrick Lencioni
Fearless Change - Linda Rising
The Cathedral & The Bazaar - Eric Raymond
Apprenticeship Patterns - Hoover & Oshineye
The Clean Coder - Bob Martin
Working Effectively with Legacy Code - Michael Feathers
Refactoring to Patterns - Joshua Kerievsky