Books that made the biggest impact on me

I have came across a lot of posts and tweets where someone talks about books they have read recently, that had a big impact on their career or the way they work. There are the books that made an impact on my career. I’ve read quite few books, but when I think about it, few on them had a big impact – not to say the others were not useful. They were either more informative, or I could/would not really apply the principles. This is not an exhaustive list, but rather a short one that got me a long way.

Code Clean by Robert C Martin: Certainly the first book that made me
change the way I write code. I still remember the discussion we had in the office around this book and how controversial it was. Today, nothing is controversial for me anymore and I took on board the rules described there. I only wish half of the
book was not just printing code from the JUnit framework.

Test Driven: TDD and Acceptance TDD for Java Developers by Lasse Koskela: I guess there is a lot of books teaching TDD, this is the one I bought. Not only does the author explains the concepts, he also explains how to achieve TDD with a database.
He introduces the concept of acceptance testing. There is a lot of code examples with different frameworks to get you started.

Release it! by Michael T. Nygard: writing code is not the only part of writing software, it has to be well behaved. This book is not only entertaining with a lot of stories, it also give some elegant solutions on how to avoid common production
issues. I still have to read the second edition.

Domain Modeling Made Functional by Scott Wlaschin: a very recent book – was still in beta when I read it – but the first book I could read that explains DDD. Every other attempt was not for me, but this one was really engaging, even though all
the code is in F# – which I’ve never used before – so double benefit, I could get an introduction to a language I don’t know, and could finally understand this methodology.

There are also few books, not programming or technical, but really entertaining and that made me think differently about my work.

Show me the numbers by Stephen Few: I have read a few books from Stephen Few about how
to construct good charts, and how to present information. It’s really good, as it shows what to do, and even more importantly what to avoid at any cost – like pie charts, donut charts… which the reasons why.

The Design of Everyday Things by Donald A. Norman: the main takeaway for me was to think about the user and how your product is going to be
used. Does it need a long manual? A lot of things are different if you focus on the usability of your software.

Coders at Work: Reflections on the Craft of Programming by P Seibel: one of the rare fully entertaining books I’ve read in the past. Did not really have an impact on my work despite giving me real pleasure to read. It’s fascinating to see the difference
on our work today compared to few years ago.

The Signal and the Noise: The Art and Science of Prediction by Nate Silver:
this book gives a lot of insight on how predictions work, and helped me to be more careful when I hear one.

I’m pretty sure I forgot one book or two, but this is really the short list for me.