My favourite programming books

Jan 18, 2020

Here are some of the books that have had the most positive impact on me as a developer.

1. Refactoring

I place this as number one because it was a real game-changer in terms of how it changed my perspective of programming. Before reading this book, I had heard of the importance of writing clean code but had never fully appreciated why it was so important.

Martin Fowler does an excellent job of explaining the actual benefits of writing simple and maintainable code before going on to provide many, many examples of useful refactoring techniques that have stayed with me ever since.

2. Clean Code

This book by Uncle Bob helped reinforce the importance of clean code and made me somewhat of a zealot for a time. I have since relaxed my obsession with clean code but the principles of this book have stayed with me.

3. JavaScript – The Definitive Guide

I would strongly recommend this book to any developer who works primarily with JavaScript. It is the most comprehensive JavaScript book I’ve read and really helped me understand and finally(!) feel comfortable with the language.

4. Extreme Programming Explained

This book made me appreciate the importance of project management techniques and methodologies. Before reading it, I would usually dismiss all discussion of software methodologies as too academic but Kent Beck does a great job of showing the practical benefits of managing software projects the right way.

It also really helped to drive home the idea of embracing change in software rather than fearing it (though I still struggle with this if I’m honest!).

5. The Clean Coder

Subtitled as a ‘Code of Conduct for Professional Programmers’, this is a very useful book full of great advice by Uncle Bob on a wide range of topics such as team work, time management, estimation, testing, importance of practice and more. It is a great example of the wonder of books in general – being able to benefit so much from someone else’s experience or thoughts.


So there you have it, my non-existent reader, my favourite books on software development!

I’m really just writing this because I want to add some more content to my blog. It’s so nice to construct little sentences and pick the right little words – I never imagined blogging would be such fun 🙂