Hacker News new | ask | show | jobs
by bob1029 1267 days ago
The article touches on organizing code which has an interesting aside for me.

When I work on side projects, I certainly encounter periods of boredom or disengagement. What can help is to say something like "you know what... I am just going to rewrite this and make it much cleaner". Only feature parity. Not trying to force anything new or trick myself into solving a hard problem right now.

Sometimes this simple cleanup pass will turn into several hours of deep exploration and development. Sometimes not.

I think of this similar to intense physical exercise. No one in their right mind goes to the gym and deadlifts their 1 rep max without at least a tiny amount of warmup beforehand.

If you are on this path and trying to build a real thing that people might actually want to pay for (or is at least compelling enough to work on for free), you are dealing with a similar mental barrier. Warm yourself up on smaller, more approachable tasks if you are finding trouble with motivation. Rerun a successful prototype from last year to remember why you are still doing all of this in the first place.

Also, if you aren't using source control for your side projects, you really need to get into the rythym. Every personal project I have worked on since ~2017 has a repository tracking it in Github. It takes me 10 seconds to find that clever chunk of code from a few years ago using their global search feature. Little tricks like this keep me from spiraling into distracted nothingness. If I had to manually browse through folders in my filesystem or dropbox, I'd never touch this stuff again.

1 comments

I feel this too, and I've learned to accept that this is just the way my brain works. Once I've lost my motivation for a certain project there's really no point trying to force it back, and besides, this isn't such a bad thing. The whole point of a side project is that I can work on what I want, even if that means doing something new every 4-6 weeks.

I create a "project" in my to-do list app for each side project, and dump every little idea I have in there while I'm excited and switched on about the idea. When my motivation ebbs and eventually returns (months or years later), I have a low-friction starting point to jump back in, which makes all the difference.

Jumping into a months-old codebase _and_ having to figure out what to build next usually means I feel a bit discouraged and never really get back to that project.

> I have a low-friction starting point to jump back in, which makes all the difference.

This is potentially the most important idea raised so far.

Making smaller, deliberate steps can many times take you a lot further than 2-3 gigantic, messy sprints.

I don't beat myself up over "only 10 minutes" spent on the side project anymore. Even if no value-add occurs, as long as I didn't make things worse, I see it as a good experience.

> I don't beat myself up over "only 10 minutes" spent on the side project anymore

This is like the "1 pushup" rule for exercise. Stated briefly, you don't consider any day a loss where you have done even the smallest amount of deliberate work. This has many benefits, it makes for an easier on-ramp to doing the work since your goal for the day is the smallest possible amount of work. It builds the habit of doing something every day. It more often than not leads to doing a lot more work than the bare minimum. It builds a sense of achievement as you continue streaks of work and see progress. Most importantly, it actually does move you towards your big goals one tiny step at a time.