Code Review —7 min read
10 Methods for In-Depth Code Review

For many of us, code review is like eating broccoli: We know it's good for us, but we hate it. Here are my 10 tangible tips to improve the value of code reviews, and hopefully make them less distasteful.

Coding Practices —41 min episode
Tiny DevOps episode #19 J. B. Rainsberger — Mastering Evolutionary Design, Part 1

J. B. Rainsberger joins me to talk about evolutionary design, and the barriers that keep many people from experiencing its benefits.

Coding Practices —1 min read
Staying DRY in a WET codebase

Can we get the benefits of WET and DRY at the same time?

Coding Practices —1 min read
DRY can be expensive

Don't repeat yourself! Except when doing so might be harmful...

Coding Practices —1 min read
Readability vs performance

Are there times when performance is more important than readability? Yes. Should that be your starting point? Absolutely not!

Coding Practices —2 min read
Readability is paramount

What value is short, clever code that nobody understands? Readability should usually be the first priority in any technical artifact you write.

Coding Practices —3 min read
Is it a good day to optimize?

How do you decide between watching James Bond or a romantic comedy? Every decision optimizes for something. What do you optimize for when designing computing systems?

Coding Practices —2 min read
BDUF vs emergant design

In the debate over the merits of BDUF vs emergant design, who's right? Both camps are right.

Coding Practices —1 min read
Reader response to: The science of software development

"Debugging is the act of answering questions and then answering them. Not: guessing what the answer is."

Agile Principles —1 min read
The science of software development

How do you use the scientific method in your daily work?

Quality Engineering —2 min read
Do your developers write tests?

When test writing is removed from code writing, there's no observed benefit in IT performance. Writing tests in a silo is an anti-pattern.