Book Review: "Code Complete, Second Edition", by Steve McConnell
Finally! I finally completed Code Complete!
See what I did there? Also that picture is massive, I thought it would be smaller.
This isn't going to be a traditional book review, if only because I started reading this book several months ago and I don't really even remember what was at the beginning, so I will cover what I learned about this book, and why you should definitely read it cover to cover if you have the opportunity.
Let's start with why you should read this book. It's 860+ pages of thick gooey goodness about how to write actual production-grade software code. The advice in this book is timeless, and spans languages, frameworks, and careers. Other books might talk about deployment architectures, or the latest JavaScript framework, or how to write great Python, or whatever, but the key to using all those tools well is to listen to the advice here. So read it.
Many things not specific to coding are discussed in this book, but still improve your coding ability and mastery. How do you structure comments? What makes a good variable name, or a method name? When should you tune your code for performance, and what should you look out for? (Answer to that: at the very end, and everything matters, even the compiler version you are using). Does being smart and hustling really help? (Answer to that one: keep your humility to intelligence ratio high).
This book has citations upon citations. If you need to convince your manager that something or other needs to be one way and you're pretty sure about that because what you're doing is literally the exact opposite stated verbatim by the book and it's killing your company but your manager doesn't listen to anything except articles picked at random, this book may help you. It also recommends other timeless resources in the last sections of each chapter (at least the timeless ones are the best, because this book was published 15 years ago), so you can blow yourself out with those examples too.
You may find early on that this book covers stuff that you actually know. I've found that the last three chapters probably would have sufficed for me. However, if you are not convinced by those three chapters, the other 32 chapters are there to cement those ideas in your mind, and explain why they are more or less correct. Also, while you may take 10% or 20% of the chapters or knowledge in this book as granted, you would still like to learn about the 90% or 80% that you didn't remember or know.
I didn't buy this book for a long time, because I torrented it as a PDF and was reading it on my computer screen. My eyes burned. Buy the book. It's worth it.