*Note: Cover image from Hack.athon.uk
Like many people, I have loads of ideas for little side projects.
And, like many people, I hardly ever do anything with those ideas.
So, I'm sat with a list in Notion of ideas I've come up with. Some are a simple static site, some are app ideas, some are ideas for scripts.
I noticed recently, though, that I only seem to add to the list frequently, I rarely seem to cross things off.
I started to reflect on why this might be, and came to 2 main conclusions; I don't make time to start projects and when I do start a project I don't give myself enough time to make a good start.
More specifically, I don't make time to start projects; this is very different to not having time to start projects. It just take a quick glance at my screen time app to see that I have plenty time, but that I spend it scrolling rather than coding. Being honest about the time that you have and how you spend it is important if you want to start spending it more effectively.
I don't give myself enough time to make a good start; I have a few examples of folders and repos where I have a python file with some imports, some print statements and maybe a function or two. Just spending 20-30 minutes may seem like a good way to get started. There are many people who recommend setting short time frames as it makes the task seem less intimidating, and therefore you are more likely to start it. This is definitely true for me (see aforementioned "started" projects). My problem is I don't just want to start, I want to progress. Going back to that file or repo doesn't feel good. I either can't remember what my plan was, or I just don't find the basic code I wrote exciting enough to jump back in. Although I may really want to tick off a to-do or I may feel really excited when I come up with the idea that I want to start it straight away, regardless of how much time I have right then, I am learning that I need to make sure I have the time and brain space to dedicate to making a good start.
You may have heard of MLH (if not they are basically the gods of hackathons). Well, in order to give people something to do during lockdown they have ran an online hackathon each weekend throughout summer (MLH Summer League). The best part in my opinion, has been the fact that they have made a point of saying you don't have to stick to the hackathon theme. And this is where I found my solution; I would work on my list of side projects as my hacks. First of all, by deciding to take part, I am allocating time to myself for coding. Second of all, the nature of a hackathon means I am devoting a good chunk of my weekend to the project, allowing me to make a good start. The desire to make something I feel is worth submitting is also motivating me to hit the ground running. I have submitted to 4 MLH hackathons so far, and will taking part in my 5th one this weekend.
In particular, I've found the ability to say "I'm taking part in a hackathon" has made it much easier to turn down requests from family (I'm quarantining at my parents till I go back to uni) that would usually distract me from a project., and to also help me to give myself permission to take some time to focus on something fun!
As implied by the name, MLH Summer League is only running during summer. I, however, want to continue working on side projects. Your first suggestions may be to find other hackathons throughout the year and to use them in the same way. This won't work for me, as part of my love of hackthons comes from working with a team, and therefor I want to take part in other hackathons "properly".
So what am I going to do? Well, I'm going to run my own hackathons. I am going to put aside one weekend a month (probably) and give myself the same time frame to work on a project. I might even invite some friends to code and hang out with me and make us our own little "I demoed" stickers 😆.