This is the story of how I ended up choosing one thing over the other and how at some point I questioned the very foundations of my work/life balance.
I wouldn’t really call it a story. It’s more likely a way for me to examine all that has been going on in my mind. I like giving context. So let me start from the beginning.
I first started doing programming seriously in 2014. At the time, I was cruising through my computer science degree, not really learning what I was supposed to. I know people often jump at the opportunity to blame the institutions they went through for not teaching them well and sometimes for not being at par with the real world by either having outdated content or apathetic lecturers. We fail to see how much of the blame falls on us. I realised that I wasn’t doing the future me any justice by being an academic tourist. Since I enjoyed the hello world applications I did in the classes I occasionally attended, I decided to take my programming up a notch. So during the May to August school break period, I decided to go HAM on Java. I chose Java only because that was what was taught in school. I even decided to forego a well paying teaching gig. Let me re-iterate that. I was broke, in campus, in need of money (we all know how expensive partying in uni is) but I decided not to take the gig in favour of reading friggin Java. How’s that for opportunity cost?
So I went back to my mom’s place, picked up a copy of Daniel Liang’s Introduction to Java Programming and started going through it, cover to cover. I remember the satisfaction I felt after writing an algorithm that could tell whether a number was a valid credit card number. I wanted to show that thing to everyone. Obviously, no one was really keen on seeing it, but the one friend who was around did a great job putting up a face of interest, and that kept me going. For three months, my weekdays basically looked like this:
- Wake up
- Take breakfast
- Read Introduction to Java Programming
- Take lunch
- Read some more Introduction to Java programming
- Take supper
That was when I started questioning everything. Everything I thought I knew. Is programming really my passion? Clearly, the answer to this is a strong yes. The feeling of satisfaction I get while tackling a computation problem is comparable to few others. If that is the case, then shouldn’t I be yearning to do it on my every waking moment? Is it really such a bad thing if I give everything up and focus on one thing all the way? I’ve been told that specialization is key in crushing it at whatever you choose. I have different passions. I came to realize that there’s way too much of the world to experience, to limit yourself to one point of view. A different person once told me that if I have many different passions, I should pursue all of them, which contradicts the first specialization guy.
What is the solution then? Narrow it down. Prioritise. Someone I really respect once said,
When feeling overwhelmed by a faraway goal, repeat the following: I have it within me right now, to get me to where I want to be later.
What if you have no clear picture of where you want to be? You will have to make a choice. Decide on something you want to work towards, and run with it. For me, I chose a pool of very related things to work towards. I work in web development at a really awesome company called Andela. I have a passion for game development. I was also looking into exploring Data Science in order to decide whether it’s something I might want to do career wise. I need one language that can be used in all these domains. I need something expressive, mature, with strong leadership, that has stood the test of time. I need something that can help me take my ideas to production really quickly, with well architected frameworks. That is the kind of language I want, which is why I chose Python.