
Why I Started Programming
Thursday 16 June 2022
The first time I touched any programming language was over a year ago in my uni course’s programming concepts class. It wasn’t a love at first sight story at all. I didn’t see the use for learning such a thing at the time, so I put in the bare minimum to get the credit.
Fast-forward to the 2021 end of year crypto bull run, I get into cryptocurrency at one of the worst times possible. Poor investing choices aside, I became very intersted in how blockchain worked and all of the possibilities for problems that such a technology could solve. Also, around this time, I got my first car and was hit with the hefty insurance quote (especially because I’d previously had my license suspended due to speeding). I refused to accept that car insurance could cost this much so I decided to research exactly where my money would be going. To my surprise, I found out that because of the overhead that insurance companies incur, as well as their obligation to their shareholders/investors, only 66% of premiums are actually used to payout claims.

Source: KPMG insurance industry review
This got me wondering whether this could be something that blockchain technology could solve which is what led me to discovering Etherisc - an open source organisation that develops decentralised insurance products. So yeah, the reason why I got into programming was to learn blockchain development so that I could build by decentralised car insurance to save me that extra $550 per year - I hear how silly it sounds as I'm writing this.
I realised that if I wanted to become a blockchain developer, I had to learn Solidity which is the programming language used in Ethereum. Thus, in mid April, the first ever coding course I undertook was one of freeCodeCamp's Solidity-full-course videos.

Video: https://youtu.be/M576WGiDBdQ
As you can probably guess, this was not the right place for a beginner programmer to start learning. While I was able to learn the basics of Solidity and blockchain development, the pace at which I was learning was painfully slow. I was constantly running into environment related issues that would take me hours to figure out how to solve. And when reviewing code I had written after a given lesson had finished, I found myself having to constantly look up what the syntax or concepts meant before I could fully understand it. It got to a point where I just became so frustrated that I knew I had to dial it back and learn basic programming prerequisites first.
After taking a step back from Solidity, I decided that maybe Python was the language I should learn. After all, Python is also used in blockchain development, so it wasn't like I was wasting my time or anything. I went through w3school's Python tutorial and would read the Python's offical docs at any chance I'd get; may that be while on the train to and from uni, or in the morning on my mate's mattress, hungover and waiting for the others to get up (it's ok, you can judge me). I also did some of Tech With Tim's Python tutorials to help wrap my ahead around Object Oriented Programming. I even started this project relating to tree data structres which I'm thinking of finishing off and submitting as my final CS50 project.
Speaking of which, this brings me to the next, and current chapter of my programming journey - CS50. In all of the "how to get better at coding" videos that would come up on my Youtube recommendations, there was always one commonality: CS50. Eventually, on May 23, I made my edX account and started the course.

This has been, by far, the best course I have ever taken online or in real life. I can't believe that content like this is free. If you've somehow found this page and are also wanting to learn programming, this is the best way to start. David Malan, the lecturer, is such a good teacher and makes every aspect of the course feel exciting.
But, yeah, that's where I'm at now. Making this website is actually cs50's week 8 problem set, so hopefully this passes! After I finish this course, I'm hoping I'll have the means necessary to get back into Solidity and get my discounted insurance.