I work as a software engineer and also enjoy being a hobbyist developer. The two roles use similar tools and methods, but they differ widely in practice. As an engineer, I focus on what the business needs and make trade-offs. As a hobbyist, I mostly do things for myself and care more about the final result. And sometimes, I feel like the real job is the hobby project.

At work, time is the limited resource and usually sets the pace. Since requirements often change quickly, the focus is usually on short-term goals.

On the hobby side, available time is scarce but also practically infinite. On the hobby side, available time is scarce too but almost infinite at the same time. That pressure to deliver on calendar dates doesn’t exist here. This is more a “shipped when ready” vibe and it leaves the door open to perfectionism. Add to the equation that a hobby project is a solo project and in practice, you end up putting more energy into yak shaving than making the project progress.

And… it applies to writing posts too. I totally didn’t have to build my own static site publisher to post this one. And yet…

Pepper is shaving a yak

Yak shaving by David Revoy, CC BY 4.0