Code Complete (2nd edition)
The fundamentals that never go out of date. The idea that stuck: keep a variable's scope and its "live time" as short as possible. The longer a value lives and the further it travels, the more places it can go wrong.
Reading / Bookshelf
From writing code well to leading the people who write it. One takeaway from each; the ones that changed my thinking most get their own notes.
The fundamentals that never go out of date. The idea that stuck: keep a variable's scope and its "live time" as short as possible. The longer a value lives and the further it travels, the more places it can go wrong.
Code is read far more often than it is written, so names, small functions and clear intent are a courtesy to the next engineer. Best treated as a set of principles to weigh, not rules to enforce.
Code smells give a team a shared vocabulary for "something is off here", and small, safe, test-backed steps beat big rewrites. The same idea scales up to evolving legacy platforms.
Each step from engineer to tech lead to manager changes what "doing a good job" means. As a lead, my output is increasingly the team's output, not my own commits.
Care personally and challenge directly, both at once. Feedback without care feels like an attack, and care without challenge lets people down. Hard to practise, and worth it.
Related notes →