Recommended Reading
Here is a list of books I can seriously recommend. These books are ideal if you are a web developer or designer who needs to be up to date with all the cool stuff. It also contains some content from my Microsoft development activities.
I have listed the books in the order I would recommend you read them. Some of the later books build on the concepts in the earlier books. I have put language-specific books at the end.
I would also like to point out that I have used direct links to either Amazon or the publisher website, not affiliate links!
I've listed all the books I have read and that are queued for me to read at the end of the page - some of them are really good, but only the best get a mention.
Pragmatic Thinking and Learning
This awesome book is all about how we learn. It is an astonishingly well researched and cited book, yet such an easy and enlightening read. Read this book before any others as it will help you with how you learn from the next book you read. Top notch.
Software Craftsmanship: The New Imperative
This book describes Software Craftsmanship in great detail and with balanced comparisons with software engineering. This is a great book to read before Uncle Bob's The Clean Coder.
Extreme Programming Explained: Embracing Change
If you think XP is just pair programming, test-driven design and continuous integration then you need to read this book to get the real story.
Lean Software Development
Mary Poppendieck, Tom Poppendieck
Drawing on principles developed in the automotive industry, Lean Software Development is a guide to creating practices from these principles that will work for your organisation.
Code Simplicity: The Science Of Software Development
Oh if only more developers read and understood this book. This is the perfect summary of what makes good code, without the need for code samples. A language-agnostic set of laws, facts and rules.
Clean Code
This code will change how you write code. It doesn't matter what language you write code in, this will change your head and your code forever. Also read The Clean Coder, which is to the developer what Clean Code is to the code.
Emergent Design
A real insight into the emergence of software development as a profession.
Practices of an Agile Developer
Venkat Subramaniam, Andy Hunt
The simple and straightforward language of this book is great and although it covers familiar ground you'll still learn a great deal. The section on unit testing needs a bit of work, but the rest of the book is excellent.
C# In Depth
If you are working with C#, this one of the few language books I would recommend. It is a big book, but Jon's effortless conversational style makes it an easy read and he hasn't assumed anything. If you want to know the concepts behind the features of the C# language, this is the book to read..
Introducing HTML 5 (Voices That Matter)
This is a seriously good book on HTML 5 that turns the whole subject inside out to look at the real guts of what HTML 5 is, how it works and what other stuff you can put with it to make it great. It has great technical depth, but keeps things light and easy to absorb.
JavaScript: The Good Parts
This is the one book all JavaScript programmers should read. It is all about using a sub-set of JavaScript to write really good code. There are tons of JavaScript books out there, but this one helps you to do things well.
Reading List and Completed Books
Reading / Waiting
- CLR via C# by Jeffrey Richter
- Questioning Extreme Programming by Pete McBreen
- Working Effectively With Legacy Code by Michael Feathers
- SOLID by Mark Nijhof
- On Becoming A Person by Carl R Rogers
- JavaScript For A**holes by Thomas Bradford
- Risk Analysis For Agile by Gary Mohan
- Personal Kanban by Tonianne DeMaria Barry and Jim Benson
- Why Plans Fail by Jim Benson
- Beyond Agile by Jim Benson, Joanne Ho and Maritza van den Heuvel
- Deceived Wisdom by David Bradley
- Psychology - A Graphic Guide by Nigel C Benson
- 50 Psychology Classics by Tom Butler-Bowden
- Key Studies in Psychology by Richard D Gross
- A Way Of Being by Carl R Rogers
- Psychology: The Science Of Mind And Behaviour by Richard D Gross
- Understand Applied Psychology by Dr Nicky Hayes
- Dependency Injection in .NET by Mark Seeman
- Programming WCF Services by Juval Lowy
- The ThoughtWorks Anthology by Parsons, Robinson, Pantazopoulos, Doernenburg, Farley, Bull
- Games People Play by Eric Berne
- Kanban by David J Anderson
- Thinking Fast and Slow by Daniel Kahneman
- F# Succinctly by Robert Pickering
Finished
- Extreme Programming Applied by Ken Auer and Roy Miller
- Lean From The Trenches by Henrik Kniberg
- Getting Started with Kanban by Paul Klipp
- Essential Scrum by Kenneth S Rubin
- 30 Second Psychology by Christian Jarrett
- Understand Psychology by Dr Nicky Hayes
- Getting Results the Agile Way by J D Meier
- Test-Driven Development in Microsoft .NET by James Newkirk and Alexei A Vorontsov
- Scrum: a Breathtakingly Brief and Agile Introduction by Chris Sims and Hilary Louise Johnson
- Who Moved My Cheese by Dr Spencer Johnson
- Pragmatic Thinking And Learning by Andy Hunt
- The Little Book Of CoffeeScript by Alex MacCaw
- The CSS3 Anthology by Rachel Andrew
- Rework by Jason Fried and David Heinemeier Hansson
- Practices of an Agile Developer by Venkat Subramaniam and Andy Hunt
- Behind Closed Doors by Johanna Rothman and Esther Derby
- C# In Depth by Jon Skeet
- Lean Software Development by Mary and Tom Poppendieck
- Apprenticeship Patterns by Dave H Hoover and Adewale Oshineye
- The Pragmatic Programmer by Andy Hunt and David Thomas
- Agile Samurai by Jonathan Rasmusson
- Code Simplicity by Max Kanat-Alexander
- Agile Retrospectives by Esther Derby
- The Pomodoro Technique by Francesco Cirillo
- Extreme Programming Explained by Kent Beck
- Software Craftsmanship by Pete McBreen
- Introducing HTML5 by Bruce Lawson and Remy Sharp
- JavaScript The Good Parts by Douglas Crockford
- The Clean Coder by Uncle Bob
- Kanban And Scrum by Henrik Kniberg and Mattias Skarin
- ScrumBan by Corey Ladas
- Emergent Design by Scott L Bain
- Scrum And XP From The Trenches by Henrik Kniberg
- The Art Of Unit Testing by Roy Osherove
- Clean Code by Uncle Bob
I'm also highly partial to Ellis Peters, Tony Hawks, Danny Wallace and Alexandre Dumas.