"The codebase should look like it was written by one person" and other lies

2020-10-01

I've mentioned that its unproductive to adopt cultural values that don't actually take a stance on an issue (with more than one plausible answer). "Be nice to your coworkers" isn't a cultural value, because it doesn't tell us how to make decisions; there's no trade-off there. Nobody would suggest "let's be mean to our coworkers" instead.

But it's easy to fall into this trap by espousing something that sounds like an opinionated stance without actually taking one, like "The codebase should look like it was written by one person!"

No. Stop. Don't tell me what ideals you want. Tell me what you are prepared to sacrifice for it. Is there a comprehensive style guide? Has everyone been trained on it? Have you adopted a process for how to amend it? Do you make ship-blocking change requests for style (citing the style guide)?

Saying you want the codebase to be uniform is like saying you want to be a published author, or a PhD. It's not the declaration of desire that matters. Are you committing the time and effort it takes to bend reality in that direction?

It's more important to live up to cultural values than to have ones that are the nicest-sounding.