How strongly do I recommend Code Complete?
9 / 10
Code Complete is my favorite book on readability. My second is Clean Code. Both books make excellent choices for engineering book clubs because they cover both low-level details and principles of software construction.
This book is long and the last few chapters may not feel particularly relevant. However, especially for junior engineers I highly recommend at least reading chapters 7, 11, 15, and 22-24 of Code Complete.
Top Ideas in This Book
Everything in my development and managerial career confirms the truth that improving quality decreases development cost and time.
But this concept is counterintuitive and often hard to grasp, especially for non-engineers.
I often use the metaphor of a two lane road. Quality represents a guard rail between opposing lanes. Without quality, you’re limited to about 40mph. But with a guard rail, you feel more confident and can drive both faster and safer.
Modern software is complex. There’s no getting around it.
How you manage that complexity often determines your success.
Your goal is two-fold. Minimize essential complexity and prevent accidental complexity from growing like a weed throughout your code and systems.
By including quality control mechanisms during the development process, you emphasize construction.
Conversely, by delaying quality control to a later stage, you emphasize testing.
I’m a firm believer in shifting left on quality. Addressing quality issues earlier in the process prevents expensive mistakes and rework.
Pair programming, code reviews, ad-hoc conversations – there are many ways to shift left on quality and nearly all of them enable your software engineering team to increase deployment frequency, thereby increasing customer value.
I can’t do this book justice in a mere comment. But this is THE book every engineer should read to learn the technical details of writing readable code. Naming conventions, formatting, function arguments, magic numbers, composition, it’s all covered here in great depth with practical examples.