My Conundrum of “What to Learn?” (in Programming)

Ever since I decided to take computer science after quitting finance and management, I always pictured myself working as a programmer at some company after graduating, then moving up the ladder until becoming a future Bill Gates, a geek with his own, successful, software company.

But, as is life, things don’t always go as planned. I graduated magna cum laude, applied for a job that was looking to hire an “Android developer” (had a few basic apps published as my “portfolio”) which I hoped would be my starting path to a successful career in software development.

I remember that day I had my first ever interview (yes, I applied to 1 place and got the job, wow right?). The person that came out before me looked nervous almost as if he had sh*t himself. I thought damn I’m going in for a grilling… So I go in, and honestly answer the questions based on my basic knowledge of Android programming and general programming concepts. At the end of the interview it seemed like I got a job (note: not “the” job). As an account manager. I’ll be honest that at the time I had no idea what an “account manager” was or does. The person who hired me just said something along the lines of “maintaining a good relationship with the clients and checking in if they need anything once in a while”.

So on that day I sort of sealed my fate in what I would eventually realize was a sales job, I guess my interpersonal skills seemed to be better suited for sales based on my interview. Far, far, far away from the job I was dreaming about. I had minor programming roles. Really minor like designing a basic web page or gui, some bug hunting and code testing. Nothing serious. The rest of my time was in “sales”. I realized eventually that sales was the backbone of any company, since you had to get your product/service out there to make money to pay your developers and so on. So I swallowed the sales pill, convincing myself sales is good. But I still had that vision of me developing amazing software that is useful to people. However, I was doing a lot of traveling for work, had to take care of my parents, had to keep my social life so that it wasn’t just work <–> home. That “programmer” in me started fizzling until it seemed like that candle burned no more.

Lately I’ve been trying to get back into programming after a few years of little to no coding. I was struggling to narrow down what I wanted, web or desktop or mobile or IoT or or or… It took me a while to narrow it down to “web development”. Then when I decided to dig in deeper into the web development stuff (beyond HTML, CSS and JS) it seemed like the floodgates were opened. You have all these languages. Then you have all these frameworks. Then you have these patterns. Then the “standards”. Oh and don’t forget the “best practices”. And security! And, and, and… My “serious” experience in web development was back in 2011 when I was in a coffee shop with my friend and we were working on a project he had which involved PHP and MySQL and we managed to have a very basic blog/forum application running for his university project. It was a blast and we had a great time (the day would fly). Today I look at all the options and just feel overwhelmed where to start! I worry if I choose this path it might lead me to the point where the tech will evolve faster than my free time which in turn means outpacing my learning capabilities while trying to maintain a balanced life.

I’ll end my rant here and go back to researching more about what to learn, how to learn, is it worth learning it in the long run… I still daydream seeing myself as one of those professional developers talking in conferences, helping fellow junior programmers, developing something popular, running a software company etc… Should I just shove it aside as a dream or work on making it a reality? I guess time will tell, but time has the habit of running out so quickly…

One thought on “My Conundrum of “What to Learn?” (in Programming)”

  1. I’ve done a lot of experimenting with programming languages, especially web-based. In the end, I chose C# and ASP.NET MVC due to its power and elegance combined with job availability in the region. That second part played a huge role in making that decision because that was actually my second top choice based on the initial point of power and elegance. My top choice was Ruby on Rails, the internet language of the future. However, in this part of the world, we are never that up to date on tech, so it would’ve been impossible for me to find jobs. I have no regrets with sticking to C# and its platforms now Satya Nadella has taken over and has been pushing really aggressively into the open source market and going cross-platform. Lots of optimizations have been added and the platforms just keep improving so fast. I will say 1 thing though, whichever language/platform you stick with, make sure you follow an MVC pattern.

Leave a Reply