eldelto
Created: Updated:

Building More Faster Part 1 - Chasing the Dragon

This post is part of a series. The other parts can be found here:

Lately I've been wondering about the whole process of building hobby projects for fun and what actually makes it so enjoyable (most of the time). In this article series I'll try to answer the following questions:

  • Why am I even building things and what do I enjoy about it?
  • What were the most rewarding hobby projects I've built?
  • Which projects ran out of steam and why?
  • Why did some take ages to complete and others were done within two weeks?
  • What do I spend most of my time on?
  • How can I accelerate the process?

Let's begin...

Profession vs. Vocation

Ultimately we all practice hobbies to get us that sweet sweet rush of dopamine when we accomplish something we are proud of. May that be a long cycling tour, a finished art piece or yet another software program.

So what is it that makes me return to programming even in my spare time when I'm already a professional developer?

Usefulness

Making something that I want to use myself or someone who is close to me feels a lot more rewarding. The project is then neither some soulless product that is sold to some even more soulless corporation, neither a fire-and-forget type of thing where I rush to finish it off, publish it to Github and wait for fame and fortune, but a more meaningful effort.

Projects that exhibit this attribute are Solvent (a to-do list that I use at least once a week) and this blog which I continually expand in features with every new article.

To contrast those projects I've also built Closing-Loop (a website to track all your chores/tasks) which fell out of favour pretty quickly, even though it is quite similar to the to-do list application.

Why is that though? Maybe I liked the idea of being super organized way too much and didn't realize that I'd rather jot down my tasks on paper (which I already did at that point) than staring at a computer again. Well, bad product-market-fit as the business peeps like to call it.

Elegance

Side projects give me the unique possibility to break away from industry best-practices ™ and ditch everything that is not immediately useful.

There is no need to anticipate the future and no one is pushing for a deadline. There is only the immediate problem I want to solve, and so I can make something that is very specific and small, something that I can be satisfied with.

Exploration

As there are no outside forces involved, I'm allowed to do anything. Nobody has to pay the price for my bad decisions other than myself.

If I want, I can run with the newest cutting edge framework but only I have to decide if I want to spend my limited time with maintaining it once a new version breaks backwards compatibility. Is it a good business decision to code something in Forth? Hell no, but it is quite the adventure and that's what I'm here for.

There is also no stopping at good enough. If it is enjoyable I can take the time, and optimize the living hell out of everything.

Maybe that's even the biggest difference to commercial projects -- hobby projects can be a vessel to explore what's out there and often you are rewarded with ending up in some weird corner of the internet you didn't even knew existed.

Y tho?

What makes me do it in the first place?

Why even bother?

What is the meaning of life and what happens after THE HEAT DEATH OF THE UNIVERSE AAAHH??!?

Honestly, sometimes I don't know.

When viewed purely as a technical task, transform a set of requirements into working software, it is pretty dull. But looking at it from a more artistic/craftmanship sort of angle makes it a lot more interesting.

Suddenly there is more to software than KPIs or sprint velocity. There can be real quality. Programms that do what they ought to do and nothing more. That are a joy to use and respect their users.

These attributes take time, time that is mostly not spent in any commercial setting because they bring no immediate or measurable value. But sometimes, when I give it enough of my time, I can catch a glimpse of what got me into software development in the first place -- creating things out of nothingness which I can truly be proud of.