In this guide, you will learn about some essential books that I think all .NET developers should read. These books will help you master .NET and become a coding legend! I have personally read all the books listed in this tutorial cover-to-cover. It took me a while, however, each book has made an impact on my ability to write good quality software 💥. Keeping up-to-date with the latest trends and gaining a deeper knowledge about how to craft good software is a key part of being a software engineer. It's not possible to learn everything you need to become a coding pro simple on the job. For instance, when I start my career I worked for 5 years before working in a company that considered using dependency injection. If I hadn't gone out and consciously learn how to be better at my craft, there are lots of patterns and approaches that I simply wouldn't have been aware of from doing my day job.
Having a broad range of software development knowledge will make you a more desirable employee. When looking for a new job, the more skills that you are competent with, the more job roles you will be applicable for. This will greatly influence how much you get paid 💸💸💸 I have had conversations with developers who seem to blame fate that their current employer didn't use some tool they wanted to learn. It was their employer's fault that their skills become outdated.
The real truth is that anyone reading this can make a decision today, to go out, buy a book on a subject they want to know more about and read it. After you have some knowledge, you can make a few demo applications and upload them to your Github. By creating some projects, you can apply for jobs that ask for skills that you may not have used at work. You can demonstrate and prove your understanding of the problem by taking action. I'm not saying you need to spend every waking hour reading development books, however, if you aim for 3 or 4 software engineering books a year, in 10 years time you will be better read than 95% of your peers. That advantage will help you get paid more, trust me on this as I have applied this principle to my own career and I can confirm it works😊
Over the years I have read a lot of books about development and as I mainly focus on .NET CMS based solutions, I thought I'd list the books that had the most influence on my career. I think the five books listed below are essential books for any .NET developer
Code Complete 2 by Steve McConnell This book is a bit of a monster in terms of size (960 pages), however, this book was the most influential book on improving the software skills that I have read. This book definitely helped me to broaden my development toolkit. The book will tell you all the different ways you can craft software, so you can then pick the most appreciate approach depending on the problem you are trying to solve. This book is not an easy read, but the knowledge I gain helped make me the software engineer that I am today.
Head First Design Patterns by Elisabeth Freeman and Eric Freeman If you don't know anything about design patterns, this is the first book you should read on the subject. A lot of people say read the gang of four books, however, that books can be dry and difficult to understand. This book has a lot of the same information, it's written in a very easy to comprehend style. If you don't know why you need to learn about design patterns.. read this now!
Refactoring: Improving the design of existing code: If you are interested in improving and maintaining the quality of your code this book should be on your reading list. Refactoring well is an art form and this book will help you refactor code to a higher standard. Refactoring is a must-have in your toolbox. We all need to rewriting software. Changing without changing the way it functions, in order to improve its readability, testability, or maintainability.
Clean Code: Great great book on principles of clean code, cover everything from style, clean design, naming conventions, testing and code structure. Writing clean code is what you must do in order to call yourself a professional and if you want to take pride in your code, this book will help you with that journey. It’s an easy read, it includes a lot of code examples (including in-depth ones) and it's not too dry and painful to read.
The Pragmatic Programmer: I think that every single programmer should read this book. Lots of tips, interesting anecdotal cases, and suggestions on how you can become a better software developer. It explores good software development practices and habits. I found myself reading a page and then having to stop as I was had an ah-ha moment and had to jot it down before I forgot. I hope you get the same experience from reading it.
I could carry on giving recommendations, however, this list will likely take you a whole year to read. Instead, of making your decision where to start more complicated, I recommend you pick these and get going. Happy Coding 🤘