I am slowly but certainly coming to the end of my parental leave. Six months without working! The time has disappeared so quickly… it’s a bit sad.
But I also feel “hungry” for work, especially to put my newly acquired skills and knowledge into practice (like TDD, ASP.NET MVC, BDD, DDD, etc.)
During my leave, I’ve done some reading. I’m proud of reaching many of the goals I set for myself on the last day of working. Here’s a short review of the books I read:
Clean Code by Robert “Uncle Bob” Martin
Clean Code was both really good and a bit annoying. It’s a classic with loads of great tips on how to identify bad code (“smells,” as Uncle Bob calls them) and what to do about it. There are also some excellent examples.
However, by the end, the tips stack up to what feels like an overwhelming number of rules. I don’t know if that says more about my code or the book, but it felt impossible to grasp all those rules at once. I think this book is best used as a reference you can check back to from time to time—especially when your team is deciding what clean code means to them. Consensus on coding style and rules is what really matters.
Patterns of Enterprise Application Architecture by Martin Fowler
Patterns of Enterprise Application Architecture by Martin Fowler is a fantastic book! I learned a lot from it, and finally put names to some of the patterns I’ve been using unknowingly.
The book is divided into two parts: narratives and patterns. The narratives discuss architecture in general terms and when patterns apply, while the patterns section dives deep into each one.
Although the book is old by IT standards (from 2002), and some of the patterns have since been solved by frameworks and products (System.Transaction, NHibernate, etc.), Fowler’s writing style makes it a pleasure to read. I found it perfectly timed for me in terms of my understanding. A few years ago, I might not have fully appreciated it.
Conclusion
I highly recommend both of these books to any IT professional looking to deepen their knowledge—whether it’s the bigger picture (Fowler) or the finer details (Martin).