Before you go, check out these stories!

Hackernoon logoOn Choosing Side Projects by@p7r

On Choosing Side Projects

Author profile picture

@p7rPaul Robinson

Before The Incident I had a ton of side projects in flight, as most developers I know do. If you go to any business and want to see the true creative entrepreneurs in there, don’t talk to the execs, don’t give the time of day to sales: find the tech team and talk side projects. They’ll have some crazy stuff going down, every time.

The number of projects I had going on was probably too many, because I was struggling to make much progress on any of them. I have been wondering though, if that was the only cause.

When I was in hospital I thought with a schedule of only a few hours a day of physiotherapy and occupational therapy, I’d have time to progress some of my projects — I had my MBP with me and WiFi, so why not?

Nope, it turns out the few hours a day of therapy was well calculated by the team on the unit: I was borderline exhausted, pretty much all of the time, but still had just enough energy for the next session. As it should be. Towards the end of my stay, I’d spend an hour playing on the Switch before falling asleep at 9pm for 11 hours straight.

When I left hospital I thought with the lifestyle changes I was making (less time in the pub, etc.), I’d have more time and energy for progressing side projects. It seems moving house is exhausting even when it’s your fianceé having to do most of the work. Speaking of whom, she is awesome and you should buy some of her stuff.

We’ve now moved. The home office/studio is slowly taking shape. I now have a decent workspace for the first time in 4–5 months. Arguably, one I really, really like being in for the first time in 8 years.

It’s seemed apt then to step back and look at projects I’ve not touched in months, and decide which ones to pick up and run with, and which to let die where they are. That process made me reflect in a way I wanted to share.

Side Projects Have to Really Excite You

The point of a side project is that it is not — at least yet — the main source of income that keeps you alive and sheltered. That means side projects have to fit into your life alongside work, rest, entertainment and everything else that makes you, you.

Given a choice between sitting in front of a game, movie or TV show, or digging into your side project, which would you prefer? Be honest.

Some of my side projects, I’m prepared to set my alarm to 5am and get out of bed for. They are things that I find so engrossing I can barely get to sleep without thinking about them. They are basically, the literal definition of my coding passion.

I am prepared to forgoe a night in the pub or in front of the telly, and then forsake sleep because they are that engaging to me. Of course, I will watch for burnout (I really need more rest), but that’s a good sign: if I’m prepared to read a book or go to the pub without a pang of anxiety instead of working on a project, do I actually care about it?

Sometimes, this passion causes problems. Relationships can suffer. Just be careful there, is my best advice: people are more important than projects, every time.

That said, great excitement about a project is something you will feel to the extent that it is almost painful to be doing something other than that project. There is one project in particular where I am even prepared to book holidays off work just to progress it. That’s got to be a good sign.

Side Projects Need a Point

I love and reading about how all these side projects bloomed into $1m+ ARR businesses. Whenever Hacker News blows up with war stories on side projects, I read, engrossed.

It has genuinely inspired me into thinking about how my own projects could blossom into my own main gig and give Herself and I some freedom to travel more and spend more time enjoying life away from a 40-hour normal gig. Fiscal independence is a great goal for a side project.

But don’t think that’s the only option. I have other objectives with some of my projects:

  • Learning: I have a ton of projects around Serverless tech just so that I can learn about Serverless. That’s having an impact on my day job as well as other side projects. Side projects done for the sake of learning something new are incredibly rewarding. One tip, take a look at the (completely free) Learning How To Learn MOOC — I found it really helpful understanding how to structure my learning patterns
  • Entertainment: I have an Arduino I’m going to turn into a plant pot monitoring system to water a sunflower. This is utterly stupid over-engineering, but I’ll find it entertaining. I told a gardening friend, and he called me names. He’ll love the video I make one day though. Maybe.
  • A cause you believe in: there are a lot of great causes out there that need your talents. Provide them. In the past I’ve done stuff around Open Data, politics, community projects (particularly when living back in Manchester before moving to “that there London”), and found them very rewarding.
  • Owning the whole piece: if you work in a place where your work is tightly controlled by a workflow or process, it can be incredibly liberating to have total autonomy over the entire project. I have found projects that basically replicate something I’m doing at work, but where I can do it my own way, have actually helped me with mental health. Consider this if work is frustrating you.

I think it’s important that like any other project you’d work on (including at work), that a side project should have an expected set of goals and outcomes, a point that you want to get to, i.e. an objective you can achieve and measure yourself against.

You don’t have to plan it out like you would a work project, but you should be honest with yourself upfront what the point is, and if you find yourself a little bit in and finding it’s not taking those objectives and has little chance of doing so, question whether you can do it differently or if you should do something different.

Start Small and Scale through Automation or Habit

This is coding specific perhaps, and of most value to projects with a business/revenue slant to them, but I think it’s important if you can apply it elsewhere on other sorts of projects.

For a side project to meet its objectives and fit into your life, it has to at least start out quite small. You might have big plans for it though, but if the 4-Hour Work Week has one lesson to teach (and it’s now so dated, it might have just the one left to teach), it’s that as you start to scale up you should automate things and keep it in that tiny side project sized box. At least take heed of the E-Myth books and their point that you probably want to be spending your time on the things you love, not the things need to run a business around the things you love — again, now I’ve told you that, you don’t need to read all those books.

As things start to grow, it’s great discipline to automate everything you can — make it a challenge to spend as much time on the bits you enjoy, and as little time as possible on the other stuff.

If the side project really excites you to the point you want it to become your job, you might think it’s acceptable for it to fill up 40 hours a week, but I would argue that’s a mistake. What you probably want to do is either have more free time, or fill that time with adding real value to your project doing the things that made you excited in the first place, not just grow it away from the things that excited you at the start and turn it into a slog.

Some projects can’t be automated (e.g. writing or art or music), but that means you must be prepared to want to develop good, strong habits around those projects: 1,000 words, 20 minutes of playing, 30 minutes of sketching, whatever it is, it needs to become daily and not a chore.

Habits are interesting things. I’ve talked about them before. If you’re new to the idea of developing good habits, make getting a new one your next side project, perhaps.

If the goal of your side project is primarily to learn, you must realise that completing a course is not the only objective: you must be able to apply what you have learned, so now you must figure out how to use your new skills in your next project, perhaps.

Entertainment side projects can scale too: at the very minimum figure out how you can share the fun with the world. A blog post, a video, a release of open source software, all of it means the project lives beyond your short time with it.

A project that you choose centred on a cause you care about deeply might be the hardest to scale, but perhaps give some thought to spreading the word and recruiting, to proselytising to others and making them care too.

Keeping all this in mind, I tend to reject side projects at the moment that I can’t see how to keep enjoyable if they become habits or I can’t automate. It’s one of the many reasons that right now, I’m not interested in starting a more permanent blogging project, even though some people tell me they’d enjoy me writing much more regularly.

Choose One Project at a Time

This is perhaps the most important aspect, but people hate hearing it (hence me leaving it until last). I know I felt crap when I reflected on it, because there are so many things I want to work on and only being able to choose one feels like a compromise and may cause anxiety over choosing “well”.

In reality, you have to keep energy and focus up, and trying to context switch through half a dozen projects is going to lead to burnout, no matter how excited you are about them all.

I therefore think it’s important to keep the limit to one side project at a time, but to have a bigger process that allows you to come back to projects in due course and grow multiple projects on the longer-term.

Here’s one way you could do it, and coming from a developer it is going to read a little like an algorithm:

  1. List projects you are interested in. Order by excitement, purpose and ability to automate or make a habit, in that order (excitement always wins out over purpose, and purpose normally wins out over ability to automate, for me).
  2. Choose one project. Set a primary goal to achieve with it in x weeks, and a secondary goal in x months.
  3. Work on it. Enjoy.
  4. If you find myself not working on it, or struggling to get near the short term goals, perhaps go back to step 1. It’s better to move onto something you enjoy more earlier, than slog it out and start to resent this process.
  5. Once the primary goal is met, decide if you want to work towards the secondary goal in x months now. If so, keep going for a bit longer. Then, (or now if happy with just the primary goal), it’s time to…
  6. Figure out what to do to keep this project going & growing that is either making it become a habit or that can be automated? Get that done so this thing keeps going without constant attention.
  7. Go back to step 1 and repeat
  8. After two iterations, you now have two projects running along either as habits or automated. You can now either go back to the first project, or go back to step 1 and move to 3 side projects, after which you can go back to looking at your first two projects or move onto a fourth, and so on.

Over time, this scales into having lots of things going on that you love, and if any of them need revisting but you don’t love them any more: stop them. That’s OK.

I’m just at the start of this journey myself again, so I’ll report back in coming months if it’s successful. If you have ideas or thoughts or tip though, please do comment on this article.


The Noonification banner

Subscribe to get your daily round-up of top tech stories!