*Except when my wife gives birth
Finding time to do side-projects is difficult. I’ve got an awesome job in a great company that keeps me challenged and interested. I also love building things in my spare time at home — apps, games, hackathon entries and more — for fun, to learn, to teach, and to occasionally make some extra $$$.
I find it difficult however to make time for these side projects — mainly because I have a full time job that I work on at home aswell after the 9–5 (because I want to, not because I have to!) and that I have three kids, with one more on the way! Family always comes first — dinner, bedtime stories, making dinner and school lunches for the next day, finding the damn cats, watching something on Netflix with Her Indoors and so much more.
In 2017 I also lectured in DIT college in Dublin, delivered an app development course to business staff in work, and recorded an Android development course for an Irish-based online educator; all with the aim of teaching more people how to build apps and earn some more cash along the way.
That leaves very little time for much else — let alone building well designed and elegantly architected solutions, on my own, that are fully tested and production ready.
So what to do? I generally deliver better under deadlines, so I’m setting myself some deadlines for 2018:
Do one hour of coding on side-projects projects every day.
Or really difficult and something I’ll majorly regret blogging about!
Ok, first thing — there are no rules, this isn’t some crazy sushi-only diet for 14 weeks to make me lose weight. There are however guidelines that I’ll try to stick to.
- Everyday, do one hour of coding on a non-work project.
- This “coding” can be actual code, or backend work like setting up databases, configuring AWS Lambda functions etc. Basically one hour of “engineering”.
- Design work is also allowed (and encouraged!)
- As is testing!
- And getting iterative user feedback!
- It can also be learning — so watching tutorial videos, reading tech tutorials etc. But reading Techcrunch, Mashable or ESPN doesn’t count!
- More than one hour is acceptable — but here’s the kicker:
This extra coding cannot be to the detriment of anything else in my life, like my kids! Or my real job!
- i.e. abandoning my family or actual work commitments to focus on side-projects is not option.
- The birth of my fourth child takes precedence over all previous guidelines!
What about holidays?
I’m about to have another kid, a holiday would be a miracle. If I do end up though on a cruise ship off Antartica for 2 weeks, perhaps alone for my sanity, the MacBook may need to be left at home. No rules remember!
What will the side-projects be?
Ah, a great question. A better one however is:
Which of the countless side-project ideas to focus on?
I have an almost infinite stock of ideas and projects that I want to work on, along with technologies and concepts that I’d like to learn and explore. A non-exhaustive sample:
- Finishing the educational game I’ve been making for about 3 years. It’s aimed at my kids but I’m taking so long to finish it, I need to make it harder as they’re getting older!
- A text-only adventure game using chatbots that I started for a hackathon, but never finished.
- Another (almost) text-only adventure game I’ve had dancing inside my head for the last year.
- An app I’ve thought of to help me manage my time. I know there’s lots of tools out there, and I use some of them, but I’ve thought a new way that may help me, if no-one else.
- An ARKit game. I’ve just built a demo in work, and I love it and want to explore more! Check it out:
- Hopefully, explore Magic Leap’s development kit, if it turns out to be actually real and worthwhile. AR glasses are the future, and I want to explore the concepts, regardless of what platforms currently exist or will exist.
- Learn more about 3D modelling (remember I said AR is the future!)
- Improve my Swift coding knowledge. Just because I love making iOS apps and have probably fallen behind a bit the last year as I’ve been working so much on chatbots.
- and so much more!
How to prioritise them?
Some will be things I’ve promised others — but I’ll be aiming to keep work for others to a minimum and focus on my own projects. I’ll prioritise the projects I think I’ll learn the most from and/or have the most business potential.
How will I do this with all the other stuff I talked about?
I think that even with everything else that goes on in life, one hour a day is achievable. By setting myself that target, and publicly blogging about it (!), it gives a semi-official deadline each day to meet. It may reduce my time spent reading crap online, but that’s probably a good thing.
Why is this important? Why not one hour of exercise a day instead?
More good questions! Like I said, this doesn’t take precedence over the rest of my life — which should also include regular exercise. I believe that by putting aside time every day to code, for me (and anyone else who wants to try this aswell) there’s lots of potential benefits:
- the learning. Increasing knowledge is always a good thing.
- it’ll be fun. Coding & creating is fun and rewarding.
- it may make me some extra cash. Maybe! I never presume side-projects will be successful, but nothing ventured and nothing gained etc. etc.!
Where to start learning if you haven’t coded before?
My first side-project is to finish my entry for the Alexa Kids’ Skill hackathon. After that, I’ll see what takes my fancy!
Feel free to hit that little clap button below, or go all out crazy and share! Andy
One Hour of Side Project Coding a Day*— a New Year’s Resolution Worth Making was originally published in freeCodeCamp on Medium, where people are continuing the conversation by highlighting and responding to this story.
Gurupriyan is a Software Engineer and a technology enthusiast, he’s been working on the field for the last 6 years. Currently focusing on mobile app development and IoT.