Here are mine.
Fast, reliable automated tests are a vise for code.
If you’ve ever tried to saw through a piece of wood while holding it still with your other hand, you know—if you’re serious, you put your work in a vise.
4. Automated refactorings.
It’s like coding with Mary Poppins. Spit spot!
3. A timer.
Getting code right calls for strong and steady attention over the course of hours. To pull that off, a human brain needs breaks. Lots of them.
I use the Pomodoro technique. I’ve also played with the 20-20-20 rule. Either is fine—a rhythm at all is the point.
And taking a break means touching grass, not touching glass. If I’m doing it right, I mean.
2. A strong Internet connection and fast hardware.
Nothing shreds my attention like surprise wait time from the machine.
1. At least one other human to write code with.
It’s not the typing that’s slow, it’s the thinking. Catching an idea. Finding that next thing to try when the software didn’t do what I thought it would.
Another thinker means better software sooner.