3 ms·
Improve developer ergonomics. Standardize the boring parts of your projects. Simplify code. Fix flaky tests and flaky automation. Keep a calm, steady frame
by dkarl 6y ago
Improve developer ergonomics. Standardize the boring parts of your projects. Simplify code. Fix flaky tests and flaky automation.
Keep a calm, steady frame of mind, so you have a more uniform appreciation of time passing. Don't fall into a busy frenzy or a puzzle-solving trance that allows a haphazard or complicated way of doing things to feel quicker than it really is. Don't let boredom blind you to the virtues of smooth, simple things.
A common mistake people make is identifying boring, predictable tasks as the most urgent focus for improvement. This is misguided. A task that is boring and predictable is already well-engineered. It can and should be further improved by automation, but much bigger gains come from standardizing the tasks that seem to go differently every time, the tasks that are typically handled by the most experienced developers. Making an "interesting" task boring saves much more effort than the subsequent step of automating it.
- stephen_cagle 6y agoFirst, I agree. Second, I don't know if I would call it a mistake as much as non-optimal. I would say that getting the boring & predictable ones out of the way frees you from keeping them in mind. This allows you to address the ones that "go different every time" without keeping track of the details. Removing the boring/predictable stuff also means you can enter flow much more quickly (and regularly). I find that for me programming is more of a psychological game than a technical one. The ability to quickly get into flow is of very high value to me. However, in other domains and with other people "standardizing" the "offbeat" task may yield greater productivity gains. XKCD made a comic about automating task -> https://xkcd.com/1205/ https://xkcd.com/1205/