Monday, April 1, 2024

Book Review: Tidy First?

Book Review: Tidy First?

As you’re working day-to-day, every so often it’s nice to take a step back and improve things. Some changes require having a strong understanding of how things are done and why, but can lead to huge benefits. Think: a chef finding a better way to brine poultry to preserve flavor, or finding a baking schedule that lets most customers...

Friday, December 1, 2023

Should you split that file?

Should you split that file?

You’re a line programmer for EvilCorp, and it’s just an average day working on some code to collapse the economy. Then you realize you need some code for disrupting supply chains. Should you split it into a new file? Let’s say you do. Pretty soon your directory looks like this: It’s so well organized! You want to know what...

Friday, November 17, 2023

It's time for the 'Sell painkillers, not vitamins' metaphor to die

It's time for the 'Sell painkillers, not vitamins' metaphor to die

There’s a ubiquitous piece of startup advice: “Sell painkillers, not vitamins.” With painkillers, the story goes, you fix something that’s been bothering the customer immediately. With vitamins, all you have to offer is some vague future wellness benefit. Through this lens, a lot of product ideas are bad businesses because they are vitamins. But is it true? I think...

Thursday, October 19, 2023

This one weird trick^H^H^H^H^H deep technique for writing an actually good resume

This one weird trick^H^H^H^H^H deep technique for writing an actually good resume

Resume-writing is a game. There are two players. There's you, trying to condense your whole life into one page in a way that presents you as the most impressive candidate possible. And then there's the reviewer, trying to decode that page into a real person they can assess. There’s been a lot written about writing resumes. And also on...

Tuesday, July 18, 2023

The 11 Aspects of Good Code

The 11 Aspects of Good Code

Lessons on code quality start in the first few weeks of learning to program, when a newcomer to the field is taught the basics of variable naming and told why programming languages have comments. They continue in countless blog posts and in every debate on a pull request. Avoid it or embrace it, code quality training permeates one's entire...