Technical Books read in 2017

Looking back at the technical books I had read in 2017, the biggest surprise is that I didn’t read any books on Oracle which I think is the longest time I have spent between Oracle books. This hiatus will not last long into 2018 because of the imminent launch of Pete Finnigan’s new book

The four books I did read took me far away from my comfort zone and two of the four have been screaming bargains (HT to Seth Godin) with what I have learnt from them.

Microsoft C# Step by Step 8th Edition

This was the first technical book I read this year.  As I continue to learn C#, I look to buy any and all introductory C# books to read different authors descriptions of the language fundamentals.

The book is well structured with nice end notes that recap what the chapter has covered. In addition the code examples were complete and easy to follow. Despite all the positives the book didn’t really grab me and after the first few chapters it became a bit of slog to get through so I didn’t finish it. Not a bad book by any means just not one for me.

Adaptive Code 2nd Edition

This is my favourite technical book of the year. It has stretched me further that I thought possible and has taught me so much.

It is split into 4 parts. Part I Is a good overview of Agile development frameworks; Scrum and Kanban, Part II Focuses on Dependency Management, Programming to Interfaces, Testing and Refactoring. Part III covers the SOLID principles and Part IV Dependency injection and finishing up with Coupling.

Although not a huge book at 421 pages it has taken the best part of six months for me to read and understand about three quarters of the book. I feel I will be revisiting specific chapters for a long time to come as I have only just scratched the surface with the valuable information that this book contains.

One minor criticism is that not all the code examples  can be run, you are given a fragment of code that you may wish to play with to see the different results of changing x and y or just to get a better understanding of the topic being discussed but this is not always possible. That aside this is an easy book to recommend.

MongoDB The Definitive Guide 2nd Edition

This year I have been experimenting with a number of C# console applications that that use NoSQL databases. Rather than endlessly Googling for information, I thought I would buy this books to get a good grounding in MongoDB especially when it comes to security.

I bought the 2nd edition of this book which is now out of date and I quickly lost confidence in it and returned to googling for information and using the official MongoDB docs.

Dependency Injection in .NET

Dependency injection (DI) was a technique hitherto unknown to me. Although discussed in Adaptive Code 2nd Edition I felt I need to find out more and hear what other peoples opinions.  One other point which piqued my interested was the difference when a blog post that is referenced a lot by answers on Stack Overflow describes DI in 2 pages of A4 sized paper yet there is a 400+ page book on the subject.

I bought Dependency Injection in .NET because of two reasons, firstly it is focused on .NET which I am currently learning and secondly the overwhelmingly positive reviews on Amazon.

The book is split into 4 parts. Part I naturally starts with an overview of the problem that DI solves with a simple example that is initially written without using DI followed by it being rewritten to use DI. The next chapters move on to a bigger real world example. Part one closes with a look at DI containers.

Part II covers DI patterns and then interestingly Anti Patterns and then DI Refactorings. Part III looks at DIY DI and Part IV takes an indepth look at DI containers such as Castle Windsor, Structured Map and so on.

At the time of writing I am on page 133 which is the start of the DI anti-patterns. I won’t be reading much further as I feel I have gotten as much as I can from this book for the time being but as my experience in OO languages grows I will be back to correct bad habits and learn how to get the best out of the DI containers that I may be using.

One other interesting point, is that the cover of this book has for reasons I do not know has gathered more comments from people passing by my desk than any other book I have owned!

Conclusion

I have gained much from reading these books (yes even you; MongoDB Definitive Guide) They have all added something to my skills as a developer and given me different ideas and solutions to problems that I currently face and am yet to face.

Can’t wait to see what technical books I read in 2018 will be…