Special Offer: My C#/.NET Bootcamp Course is out now. Get 10% OFF using the code FRIENDS10.

The Summer 2019 holiday season is about to begin, and I know it’s crazy to talk about paper books in 2019, but I do it anyway.

I thought about compiling a list of my personal ten best C# developer books not only for myself but for the community who asks me for my recommendations. I will also take some of these books with me when traveling, and I’ll read in them at the beach.

Programming Books

Let’s jump right into my top 10 C# developer books in 2019.

C# in Depth

Author: Jon Skeet

I cannot recommend this book enough. Jon Skeet is famous for his contributions to the StackOverflow community. C# in Depth was first published in 2008, and in the meantime, the fourth edition is available to purchase.

Jon is famous for explaining complicated matters in a very understandable and straightforward language. I can tell you that most of the knowledge I gained about the inner workings for C# and how to use different language features comes from C# in Depth.

The book is structured in a way that covers the available C# features in chronological order of their appearance in C# versions starting from C# 2 and ending with C# 7 and beyond. It allows everyone to follow language development no matter when you entered the .NET world.

I own a copy of the second edition, and I read it twice from the beginning to the end, and I got massive value out of it. I recommend this book to any serious C# developer who wants to dive deep into the language and the .NET platform.

You can get C# in Depth for only 28.50$ on Amazon.

Clean Code

Author: Robert C. Martin

This book is not a C# book. It’s a developer’s book focused on code quality. It’s a classic book that has been around for a while since its release in 2008. I bought this book in 2012, and I have read it multiple times by now.

Robert C. Martin covers basic and advanced techniques to improve the quality of your source code. Some of the principles discussed in the book have found their way into most popular IDEs, and others are a common sense among experienced developers.

Nonetheless, there are also topics or techniques that I have never used and that I have learned from this book. I would recommend this book to all beginners and even to experienced programmers interested in writing maintainable, high-quality source code.

Although the book is ten years old, it’s content is still applicable to modern software development and it’s not limited to any particular programming language.

You can get Clean Code for only 31.88$ on Amazon.

The Pragmatic Programmer

Authors: Andrew Hunt, David Thomas, Ward Cunningham

This book is written by Andrew Hunt, David Thomas, and Ward Cunningham and has been released in 1999. It’s one of the books from the last century that I like because a lot of its content is still relevant in modern software development.

The authors take the craftsmanship approach as their main topic. They give tips on how to improve and how to approach software development. They teach things that are not taught in traditional education, including universities. It’s a book for practitioners.

The book is on a higher level than the Clean Code. It covers all topics around the process of software engineering, including specification development, customer relations, how to manage a team, developer tools, and testing processes.

I read this book in 2013, and from time to time, I reread some chapters whenever I’m faced with a challenge.

You can get The Pragmatic Programmer for only 20.98$ on Amazon.

Clean Coder

Author: Robert C. Martin

Clean Coder is the successor of the widely successful Clean Code book. Whereas the first book mainly covers code quality and goes deep into naming, ordering, and structuring code, Clean Coder aims to act as a Conduct for professional programmers.

The book has been released in May 2011 and is about half the size compared to Clean Code with 242 pages. At the time of writing this article, it’s in the top 10 in the software development category on Amazon.

Robert C. Martin writes about disciplines, techniques, tools, and craftsmanship in general. There are chapters about conflict management, dealing with irrational managers, how to deal with writers blockade, and how to avoid burnout.

I got many things out of this book that I applied to my day job. When I first started working full-time as a software developer, I only focused on the source code I produced.

This book helped me to understand that software development is not only about code, but about people, teams, and the communication between them. Communication is the key to build functional teams that deliver high-quality software.

I recommend this book to everyone who wants to learn more about the process of software development and improve their communication skills to get projects done, have a healthy work environment and how to climb the corporate ladder.

You can get The Clean Coder for only 28.65$ on Amazon.

Clean Architecture

Author: Robert C. Martin

Let me make it very clear that this article is not sponsored or somehow affiliated with Robert C. Martin and I promise that Clean Architecture is the last book by Robert C. Martin on this list.

I could not drop this book from the list. It’s focused on larger software systems. It talks about how to write them from the ground up and how to refactor existing systems to fit modern architectural styles and also why and how the suggested techniques help to improve the overall software quality.

The concepts discussed apply to all object-oriented programming languages, and some of them can also be used in functional-oriented programming languages.

The book includes a definition and differentiation between software design and software architecture. Next, it covers the different paradigms structural programming, object-oriented programming, and functional programming.

The design principles include all SOLID principles (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion).

The component principles talk about component cohesion, component reuse, and component coupling.

The last part of the book deals with architectural goals like independence, drawing boundaries between components, and how to deal with business rules.

The main focus of the book is the Screaming Architecture approach, which states that architecture should be visible to the developer when he/she works within the project.

I consider this book to be an advanced level book, and I would, therefore, recommend it to any experienced developer who has made their first few years of software development experience. Absolute beginners will have a hard time understanding the higher-level principles discussed in this book.

In general, if you want to read all of Robert C. Martins books discussed in this article, I’d recommend to read Clean Code first, then continue with Clean Coder and read Clean Architecture as the last book of the Clean code series by Robert C. Martin.

You can get Clean Architecture for only 23.27$ on Amazon.

C# Smorgasbord

Author: Filip Ekberg

C# Smorgasbord is Filip Ekberg’s first book. I wrote an in-depth review of the book on my blog in March 2013, when I first read the book. It’s the first book on the list that I do not have a paper copy, but a PDF version.

The book is for advanced C# developers who want to get a deeper understanding of how C# internally works and how to best make use of the .NET Framework.

The chapters are focused on using parallel extensions, how to write and use unit tests to speed up the development process, and a great chapter about asynchronous programming with async and await, and dynamic programming.

The second part of the book includes how to use Reflection and what to consider when using Reflection for creating things at runtime. There is also an introduction to the Roslyn platform.

The book was released, and part of the content is outdated. I’d still say that this book is valuable to C# developers that want to gain an in-depth understanding of the discussed topics. Also considering the lower price compared to other books listed in this article, this book is, in my opinion, still worth purchasing.

Have you heard about this book before? Let me know in the comments below. Also if you’re interested, check out the detailed C# Smorgasbord book review I wrote in 2013.

You can get C# Smorgasbord for only 14.99$ on Amazon.

Head First Design Patterns

Authors: Eric Freeman, Elisabeth Robson

Most developers have heard of design patterns from the book Design Patterns – Elements of Reusable Object-Oriented Software by Rich Gamma, Richard Helm, Ralph E. Johnson, and John Vlissides.

I have to confess that I do not like this book. I neither like the writing style, nor the illustrations or the examples.

Head First Design Patterns, on the other hand, covers design patterns in a way that is understandable to me. It communicates the intention behind the patterns and when to use which pattern. And more importantly, when a pattern does not fit the problem.

I had to buy this book during my apprenticeship, and I would consider this the only book that I think is worth the money that I had to spend. Most other books I had to buy were a waste of money, in my opinion.

The code samples in this book are written in Java, but can easily be applied to all object-oriented programming languages, including C#.

If you want to learn more about the design patterns, you already know, or if you’re going to learn something new, maybe a more exotic design pattern, I highly recommend to purchase Head First Design Patterns by Eric Freeman and Elisabeth Robson.

You can get Head First Design Patterns for only 23.80$ on Amazon.

Soft Skills: The Software Developer’s Life Manual

Author: John Sonmez

John Sonmez, the author of the book, has done it all. He has worked as a software developer in multiple roles, he has done consulting work, and he’s created content on the Internet such as building a successful blog, more than 50 Pluralsight courses and a YouTube channel.

The quintessence of his Soft Skills book is that it takes more than writing quality source code to level up in the career. The blog talks about market yourself as a developer, how to manage your finances, how to invest your money, and how to deal with fitness, health, and relationships.

The book’s goal is to guide the reader to improve in points which were not on the radar but are crucial to becoming successful as a software developer. What makes this book special is the wide range of topics and the relatable stories John uses to teach the subjects.

I’ve gone back and read multiple chapters more than once. I also read the entire book from start to finish when I first grabbed it. I can recommend this book to every developer who wants to become more professional and wants to get a higher degree of freedom in their career.

You can get Soft Skills for only 21.80$ on Amazon.

The Art of Unit Testing

Author: Roy Osherove

Roy Osherove, the author of The Art of Unit Testing, updated his broadly successful book in and published its second edition at the end of 2013.

The book goes through the process of creating automated tests from writing the first test to develop and maintain robust test suits. Roy defines a lot of commonly used terms around unit testing, including but not limited to mocks and stubs.

There are also chapters dedicated to how to use testing frameworks like Moq, FakeItEasy, and Typemock Isolator. The book includes many code examples written in C#, which makes this book very beginner friendly and easily understandable.

I own the first edition of this book, and I read it start to finish when I grabbed it. From time to time I go back and read a chapter or two when I face a challenge in my day job or when I want to make sure that I am using best practice in my test suites.

I can recommend this book to anyone interested in learning more about TDD, automated testing, especially for C# developers.

You can get The Art of Unit Testing for only 23.95$ on Amazon.

Effective C#: 50 Specific Ways to Improve Your C#

Author: Bill Wagner

In its current 3rd edition of the book, Bill Wagner covers a wide range of topics and tips starting at the beginner level and ending on an advanced level.

In the introduction of the book, Bill Wagner states that his goal was to provide 50 recommendations that will help us use C# more efficiently as a professional developer. And that’s what his book is all about.

A certain level of understanding of the C# programming language is a prerequisite to gain knowledge from this book. The reader should be familiar with the basic C# language features and the .NET platform.

The book covers language idioms, which are features that the language provides that we can utilize in our code. There are tips about resource management, working with generics, working with LINQ, and best practices in regards to Exception handling.

It is the only book on the list that I do not own a physical copy. I had the opportunity to get it in the library during my years at the university. All I can say is that although I knew about some of the basic tips, I’ve learned a lot from the more advanced tips. Especially the tips about working with LINQ and generics were interesting to read for me.

I highly recommend this book to every developer that wants to improve his/her knowledge in the topics that Effective C# covers.

You can get Effective C# for only 28.11$ on Amazon.

The Intention of This Article

If you’ve made it this far, thanks for reading!

This article is intended to serve as a personal reference as well as helping fellow developers find a book for their holiday season to learn something new, for a gift or for putting on the shelf in the office to impress co-workers.

Whatever the reason for you to purchase one of those books, make sure to let me know in the comments what you think about those comments and if you can recommend those books as well.

Write a Comment

I want to run this as an experiment and see if I can include a few recommendations from the community in this article.

I do not believe in Amazon reviews or book review platforms because publishers are interested in having good ratings on their books. I want to provide a platform where honest feedback and personal experience have a place.

Also, please let me know in the comments if you know other books that are missing in the article and that I should purchase and review on my blog. I am open to new books since I’ve finished my last book for a while.

Last but not least, it took a lot of effort to write this article and to provide it for free. Thanks for sharing it on your social media or wherever you feel like this article helps a fellow developer.

Disclaimer

I’ve read all of those books, and I still have most of those books on my physical bookshelf. Other books I do not possess myself, but had the opportunity to read them or have some additional insight into why this book belongs onto the list.

Also, as an Amazon Associate, I earn from qualifying purchases.

 

Claudio Bernasconi

I'm an enthusiastic Software Engineer with a passion for teaching .NET development on YouTube, writing articles about my journey on my blog, and making people smile.