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

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” […]

We’re fast paced

By custom, all software engineer job postings in the US are required to include the phrase “must thrive in a fast-paced work environment”. This is usually not a bona fide qualification, but rather an advertisement (“we’re fast paced, so we hope you like that?”). The reasoning is sound: Engineers generally aren’t drawn to listings with […]

Example engineering team values

It’s generally a mistake to adopt values like “respect your customers.” True values involve trade-offs. Here’s my humble attempt to list a few reasonable ones for a potential engineering team. We should… Hire and pay for world class peopleHire economically Be togetherWork anywhere Emphasize qualityEmphasize speed Emphasize market share growthEmphasize profitability Be highly leveragedBe highly […]