Experience • Python

Python was the first language I ever learned (excluding speaking languages, then it's the third). I have vivid memories of playing around with Python 3.4 IDLE during primary school classes, not paying any attention to what I was actually being taught. Probably not the best idea in hindsight, but at least it paid off! Due to how long ago this was, I don't have an exact time period for the start of my Python journey—and subsequently my programming journey—so I will round it to my earliest comprehensible memories from 2016.

This is when I started to take the language a bit more seriously, learning actual programming concepts, code conventions and style guides — I was (and still am) very opinionated about style guides. I explored GUI development, which until then I had only really done with the tkinter and turtle libraries. This prompted me to make many GUI applications doing various random and silly things purely for the fun of it. I didn't realise at the time, but this would be the foundation steps for my learning process that I have used ever since for almost everything. I was also very interested in the system side of things such as file system operations, OS services and command line interfaces. Unfortunately, I never really got past making basic file system operations, that would come later on in my journey.

Fast forward to 2018 and news of my technical skills have circulated around my secondary school (not just programming). Surprisingly I was respected more because of this, and I was often asked to help students and teachers with various technical issues which I enjoyed doing. However, I still felt as if I was lacking something despite the appraisal. Was it knowledge? Experience? Technical comprehension? Simply put: yes; although I didn't know it at the time. My focus was on expanding my knowledge on operating systems and command line interfaces, but there is only so much a poor education system and hours of aimless Googling can get you. This continued into the following year to no avail. I was burnt out and disappointed, and with exams ever approaching I decided to take a break from programming altogether.

Well, that's what I thought anyway. Turns out a very problematic virus had other ideas and decided to uproot everything, so I was shortly condemned to 2 and a half years of disassociation. During the time I had been frequenting various Discord servers and the concept of Discord bots captivated me. I had never done anything with HTTP up to this point, let alone hosting any kind of application — it was scary and I loved it. I jumped head first into the sea of Python Discord bot tutorials, observing different design patterns and making notes. Then, on July 17 2020, I launched my very first Discord bot. Why such a specific date? It's not because of nostalgic or milestone reasons, although I wish it were. If that date looks familiar to you, you're probably a software developer or technical engineer. But to summarise, there was a Cloudflare incident that caused a large portion of the internet to go down. Coincidentially this happened at the same time I got my bot up, so after about 5 minutes of smooth running the connection was abruptly interrupted and all communication to Discord was severed. Needless to say I was startled by the incident which put me off doing anything with the bot for a while, but I eventually returned to the Discord space for round 2 which didn't dramatically fail without warning.

As time slowly passed (like extremely slowly), I continued to develop my skills with Discord bots. I was also able to thrive in a great Discord community where I learned a lot of the programming fundementals I had desperately searched for in the previous years. I made some amazing friends that motivated me, were upfront with me (constructive criticism ftw) and ultimately pushed me past my limits. Through making and growing Discord bots I explored I side of programming that I hadn't really considered before: the World Wide Web™. In all seriousness, this was the starting point for my journey into HTTP, websockets and various different internet protocols, and is a major driving factor for the work that I do today.

At present—that is 2023 whenever you are reading this—I still use Python every so often for prototyping new ideas and concepts, and for when I'm working on one of my API libraries. If the time comes where I need to use it professionally, I would gladly do so as it is a really nice language to work with.