How I Beat Procrastination to Launch a Side Project

Like a lot of people, I’ve always had entrepreneurial plans and aspirations that I rarely acted on due to my lifelong battle with procrastination. I was inspired by the success stories of people like Bill Gates, Steve Wozniak, and Steve Jobs to get into software development. I worked in the field for several years, but wanted to build something of my own too. I had a notebook full of ideas, and occasionally I’d even manage to work on something for a couple of months before losing interest and moving on to something else.

Maybe you found yourself in a similar situation. Even when I was single and had plenty of free time, I could not seem to accomplish my entrepreneurial goals. For me this pattern repeated for several years until one day I realized that with a family, a mortgage, a career, and being over 40, if I didn’t make it happen soon, it was never going to happen. To be clear, I’m incredibly happy with my family and career, I simply had this nagging feeling of unfinished business.

First I needed a project with real potential. If you were doing web development in the 2000’s you probably remember geocities, a free service that hosted users web sites. Back then, building sites on geocities and similar services was how a lot of people learned to code, before “Learning to Code” was a thing. I really loved creating little sites for my own education and sharing with friends. I always wanted to have a backend for my geocities site so I could make ajax calls and do more interesting things. But in those days, before CORS support in browsers, there was simply no way to create a backend for an html page without having your own server to serve requests from the same domain. Obviously when you just want to have fun building websites, learning server admin and backend languages and frameworks adds a large amount of undesirable complexity, effort, and expense.

But technology advances, and CORS became standardized and widely adopted. And yet no one was offering the service I always wanted; hosting for html, css, and javascript with a CORS enabled backend. This was the niche I’d attempt to fill. Today these types of sites are called ‘static sites’ because you just deploy your files to a service like github pages or netlify and are done with it. I was willing to bet a lot of people were also interested in a CORS backend for static sites (more on this below).

But how to could I conquer my old nemesis, procrastination? I’d found that when I did have free time and actually felt like working on a side project, I couldn’t. I felt there were a lot of unknowns, and the feeling of “where to start” was overwhelming. So I needed to get a handle on these unknowns, and define tasks to get started.

I’d found during busy times at work, if I left myself a short, direct note about the task I was working on, I could come back the next day and get back into flow at the same point much more quickly. I tried this a few times on a side a project, and it really seemed to work. I would use this technique to improve productivity during my limited free time.

So, I had a project I was passionate about and a scheme to overcome procrastination, But how would I find the time? I drive to work every day. Generally, my commute is 30 minutes to an hour, depending on where I’m working. I found that if I left a little earlier in the morning I could spend less time in traffic, and use the extra block of time to do some coding. I could also get a block of time over lunch to get some personal work done. So, thirty minutes before work, thirty minutes at lunch, and some potentially longer blocks of time in the evening and weekends. That’s all the time I had, would it be enough?

Since I work as a software engineer, I am extremely conscious of ownership of my work. I didn’t want there to ever be any question about who owned what I created. Therefor, I was very careful to work only on my own equipment over my own network connection, off site from my employer if possible. At first I tried going to cafes or restaurants, but I found this took to much time away from coding. So eventually I settled into a routine of coding in my car with my laptop tethered to my cell phone.

I did this for about six months, and was able to put together a minimal viable product (MVP). I estimate I averaged about 7 hours a week on the project. I found that leaving notes for myself worked really well for getting back into the flow quickly. I got into the habit of thinking through tasks and planning a lot more than I had before. All was not roses though. I found these limited blocks of time fine for small, well defined tasks or series of tasks. But for larger things, like complex refactoring efforts, they were entirely inadequate. For these I’d try to commit longer blocks at night or on the weekends.

I also found in the early part of the project I concentrated on getting things working, without flushing out the details too much. Later this came back to bite me as there were TODOs in the code I didn’t remember the purpose of, or features that were half implemented I had to go back and finish. I found it better to “do it now while it’s in my head” instead of “worry about it later”.

So I launched the MVP and started on the next phase, building awareness and finding an audience and users. That part of the story is still to come!

About File Mapper

File Mapper is an editor and viewer for fixed length files that uses COBOL copybooks to map data to their layouts. Perfect for ACH files or other fixed length file formats.