My Programming Journey

I technically started “programming” when I was 11 or 12, and my first language was technically QBASIC. I say “technically” because the programs I wrote were often toy programs (I fondly remember being particularly proud of a program that printed the colours of the rainbow in order - and it didn’t even use a for loop. Just 7 print statements), and since I didn’t have access to a computer then, I wrote them in my notebook. With a pencil. The fear-inspiring reputation of compiler errors was something I thankfully didn’t have a tryst with until at least a year into “programming” using my notebook and pencil.

I picked up QBASIC from my computer science textbooks. Though things like LOGO and QBASIC were a part of the book, they were never a part of the curriculum. I was bored to death of learning about MS Office in our computer classes, and intrigued by the idea of learning something that the teachers (possibly) thought was too hard for us kids.

As far as I remember, I’ve never compiled a QBASIC program. By the time we got a PC in my house, I had shifted to writing toy programs in VisualBASIC. I think I was 12 or 13 then. Those were good days.

By the time I turned 15, I had picked up a little HTML/CSS (which I used to trick my little sister into thinking I had somehow acquired an internet connection when in fact I had no such thing). More importantly, I was reading am undergrad level book on C programming. I don’t remember how much I actually learned from there, but they were still toy programs. Probably stuff like sorting and calculators and the like.

By age 17, I could do some JavaScript, and I picked up a little Java from a Coursera course. And I was enamoured by Object Oriented Programming! But I hadn’t started doing any development yet. We had an introductory course in Python at University. I hadn’t heard of Python until then. Finally, just after I turned 18, thanks to the guidance of an old school friend, I was introduced to the world of web dev. I did NodeJS, learned MeteorJS, and picked up a few related skills.

JavaScript was my primary skillset throughout University, though I had acquired a degree of competence with Python as well. Also learned some bash, tried my hand at Rust, and tricked myself into thinking I knew C. When I started interning with (in Jan 2020), Python became my main game. I also learned some Go then. Finally, after starting a full time job at in August 2020, my skillset expanded to include Rust and C (this time for real), Elixir and Clojure (a modern Lisp). You can read about what else I did in 2020 in [this blog post][1].