On the importance of side projects

Ivica Kolenkaš
5 min readNov 30, 2022

--

Human species is many things. We are enduring, we are adaptable but most of all we are curious. Curious about nature, curious about ourselves and always with our eyes on the unknown. In our ancient past, we kept our eyes on the unknown for safety. Utimately to make the unknown — known.

Most of us also get bored easily. Having attention and focus in a world that bombards us with multimedia, ads, notifications and everything in between is not easy. People change jobs because they need a change, they change partners (or even worse, cheat) because the relationship is missing that something.

If you are like me, you have a desire to build and create and buy all the domains. However, it’s not just about the desire to build. I understand now that feeling of missing something at work, and my side projects are there to fill that gap and scratch that itch.

Finding that something

Be patient because it may take a while. Be prepared for “failure” because that something can be a tiny needle in a huge haystack. Also, be prepared that it is not there at all. But you still have to do it, because we, humans, are curious. And it is rarely about the destination. No one in the history of traveling around the world did it to get somewhere — they did it to get around the world.

I worked with infrastructure my whole carrer. First it was virtual machines on ESXi and virtual LANs on Mikrotik routers. Then it evolved into EC2 machines, VPCs and loadbalancers. Now it’s Lambdas, Step functions and event-driven applications. I have enjoyed, and I still enjoy working with infrastructure. But roughly 10 years ago I was introduced to Python and coding in general and I enjoy it. Dare I say, I enjoy it as equally or more as working with infrastructure.

I always have a side project (or four) that I’m working on in my spare time. At first I was telling myself that I’m creating them because I want to turn them into a business sometimes in the future. No matter how big or small a chance for that is, that was never the main reason.

I was coding after work, in the train or at the airport because I was missing it at work. CLI applications, web applications, cross-platform… you name it, I built it or tried to build it. So have I found my something?

Waste of time, distraction or something else

While interviewing people, I always asked whether they had side projects. I was young(er) and inexperienced then, so when people would tell me that they don’t work on something of their own, I’d put a minus in my book. It was never a reason to not hire someone, but I didn’t look at it with approval.

Seal of disapproval

Their reasons for not having side projects ranged from “I don’t have time”, to “I don’t want to look at another screen after 8 hours of looking at a screen” to everything else. We’re all different and life happens.

These days I am not putting any minusses or looking at not having side projects with disapproval.

These days I try to advocate for, or at least discuss, side projects and their benefits with potential colleagues. So here goes…

Benefits as I see them

Working on side projects is beneficial for multiple reasons.

They are, first and foremost, your playground. It is not a coincidence that daycares, schools and neighbourhoods have playgrounds. We, human beings, are curious and from that curiosity we learn. We scrape our knees, bump our heads but ultimately we conquer the playground and later on outgrow it.

Secondly, side projects allow you to be curious at your own pace. There are no deadlines and no pressure. Rough seas do make strong sailors, but no one said you should become a strong sailor in a month, with a couple of gray hairs and a nervous tick.

Side projects give you the freedom to experiment, refactor, start over or shift-delete the whole thing on a whim. You can try new tools or technologies without too many constraints.

They also don’t have to be purely code based. Building a RaspberryPI server, or your home NAS solution out of an old desktop machine can teach you many things about Linux, networking, media protocols and patience.

As I’ve tried to point out with this article, working on side projects can be beneficial for multiple reasons. But so can fitness, healthy nutrition, socializing, having a hobby and many other things in life.

In the end, every side project, difficult conversation, failure and success will teach you something. I learned that not having any side projects is not the end of the world. But I also learned that working on a side project fulfills me and makes me happy. I found my something.

What about you?

Seeing that I wrote an article about tech side projects, it would only be fair to share some of them that are worth sharing.

PySub

PySub is a subnet calculator written in Python. I started working on it in 2013 for the purposes of my “Computer networking 101” college class. Original idea was to share it with my colleagues so I made sure to include as many explanations as possible. The tool will answer the question such as “what is the network address of 174.18.22.202/18” but it will also tell you why.

cronrange.info

cronrange.info is a tool that helps with predicting the next 100 runs of a cron expression. Additionally, it handles the non-standard format of AWS EventBridge scheduler (formerly CloudWatch rules). EventBridge shows the next 10 executions but that may not be enough. So, if you need to find out the next 50 runs of 0 14 1 */3 ? * cronrange.info is there for you.

jmbg-validator

jmbg-validator is a tool that validates and displays basic UMCN data. UMCN was/still is in use in former Yugoslav republics as a way to uniquely identify citizens.

Building serverless apps with Python

My latest project is a workshop on how to build serverless applications in Python and host them on AWS. The idea was to teach people that use Python about AWS and how they can host their serverless applications on AWS with no hassle.

--

--