Preface

 

Software developers keep learning throughout their careers. It’s part of the appeal of the field. The more I learn, the more I discover how much I don’t know (the “known unknown”). The times when I learned the most were the times when an “unknown unknown” became a “known unknown”—when a whole category of development was revealed to me that I hadn’t heard of before. Subjects such as performance profiling and localization never even occurred to me when I started out. Yet they have an important role in professional software development.

With so much information available through blogs, tweets, Stack Overflow, conferences, and online documentation, some may wonder if physical books can still be relevant, especially with a subject like .NET Core, where the book may be outdated by the time it reaches print. I believe the true value of a book, what gives it lasting impact, is the revelation of the unknown unknown to the reader. The book should cause you to ask questions you haven’t asked before and provide new context and ways to process the avalanche of information out there on a particular topic.