My (not only) Tech Library
Early in my career, when the documentation was not so spread across the Internet, I had to buy and crack open books to learn new things. I stumbled upon of Le Monde en “Tique”, a famous Parisian bookstore getting books of Java EE, XML, or whatever else.
I then realised, even with the number of documentations, articles, videos growing on Internet, I learnt far better new topics reading books.
All through my career I therefore tried to keep this habit. During the last Touraine Tech edition, I had a chat with one of my ex-colleagues about that. He asked me: “Do you have a list of the best books you read and enjoyed? It would be nice if not”
I will therefore try to reply here to this query.
You will find below TEN books I found really helpful at different steps of my career.
It was quite hard to draw up this list which looks like to “if you had been on a desert island, which book you would have brought”.
Please, remember then this list is not exhaustive and there are plenty of interesting books beyond this list.
1 The staple
Here are few books I strongly recommend to read and read again to every developer in this particular order.
1.1 Clean code by R. C. MARTIN
For few years, when I must mentor a young developer, I ask him/her to read Clean code first and code then.
1.2 Refactoring by M. FOWLER
I must admit, I am a big fan of M. FOWLER. Every of his presentations, articles or books are really informative and inspiring. In my opinion, this book belongs to the mandatory reading list for every person who wants to become better in this field.
1.3 Design Patterns by the GoF
One of the first tech book I bought. It was during the first years of my career. I had a blast reading it because it addressed common problems with simple cooking recipes we could easily put into practice.
I think it is still worth reading it.
2 For Java developers
2.1 Effective Java by J. BLOCH
From my perspective, it is the perfect Java developer “Clean Code” book companion. If you are a Java developer beginner (or not!), you can also refer to Head First Java by K. SIERA & B. BATES.
3 For designers
3.1 Fundamentals of Software Architecture by M. RICHARDS & N. FORD
It is definitively the book I would have wished to read 10+ years ago! In my opinion, reading this book is a mandatory step for anyone who wants to dig into architecture. It addresses both the hard skills with all the main architecture design patterns and the soft skills (i.e., how to work as an architect?).
3.2 Software architecture for developers: Technical Leadership and the balance with agility by S. BROWN
This is another terrific book talking about software architecture.
I also recommend reading it.
3.3 Building Microservices by S. NEWMAN
If you want to dig into how to design a microservice platform, this book is a good start. It will provide you a good overview of all the main points to tackle such as integration, deployment, or the famous Conway’s Law.
3.4 Building Evolutionary Architectures by N. FORD, R. PARSONS & P. KUA
This book comforted me a platform must be on the one hand designed and sat up as simply as possible and on the other hand supports changes over the time. Among other things, the authors bring guidance to achieve that.
4 For speakers
4.1 Resonate by N. DUARTE
It is considered as a reference for people who talk in public. Even if I read a bunch on this field, it is still the best I read so far.
5 For people who want to get rid of stress and being (mostly) organised
5.1 Getting Things Done by D. ALLEN
Last but not least, this book changed 15 years ago the way I organised both my personal and professional life. This kind of personal life methodology does not work for everyone. For me, it was a game changer.
6 Conclusion
Unfortunately, I haven’t read plenty of fascinating books yet. Regarding software architecture or design topics, I usually choose a book taking a look on the Gregor Hohpe bookshelf first. You will find many of the books I already mentioned in this article and many more!