Brad Dial

In The Beginning

2024-07-18 17:16:44

My programmer origin story is a pretty familiar one. I was introduced to video games at a young age, on Nintendo and PlayStation consoles at first. I fell in love (and maybe got a bit addicted) and they quickly became a staple in my life. A handful of years later, I was introduced to computing and the web. Early YouTube, Newgrounds, and RuneScape held my attention for hours and hours, and at some point I started spending more time on my computer than on my games consoles. This is where my gaming compulsion became more useful.

When you’re playing games on a gaming console, the thoughts of what the machines are doing and how the games are made are more arcane, harder to imagine. Sure, you may know a game is technically a computer program, and the console is a computer, but a child doesn’t go much further than that. Having computing in your life at a young age changes those perceptions. The Flash age of web gaming I believe had a huge impact on my life, because I watched all these relatively young creators in their teens and young adulthoods create fun, addictive, and sometimes very visually appealing games and animations on the internet. Creating wasn’t just “something for other people” in this environment, it was something that I could do.

00’s Web

Screenshot of an old Flash games website

Kongregate.com circa 2009, a very popular Flash game site in the late 00's and early 10's.

At least, in theory, I could do it. I didn’t participate in the Flash revolution, because Flash was expensive and I was too good of a boy to steal it. However, I did dabble in writing music using a cheap version of FL Studio - a music development program - and uploaded that music to Newgrounds. This didn’t go anywhere in terms of my career or aspirations, but it further enforced that I could make, I could create. (There will be no links to that old music, by the way. Allow it to be lost, it isn’t worth finding.)

Around the same time, I learned my first form of coding: HTML. My very first lines of code were in a Notepad .html file, laying out all of my favorite pictures from the internet and links to my favorite YouTube videos. Days of learning and polish went into producing something that very much looked like a website made by a child in the early 2000’s, and I was very proud. It never hit the web, but the seed was planted, and coding would keep popping back up in my life in the coming years.

Other smaller influences would tip me closer and closer into the programming career path, mostly concerning video games. Roblox was a brief interest, using Lua to do very rudimentary game programming. My sister got me into an online RPG game that had a world builder, and I took to the scripting that worlds came with very well, impressing my sister and her friends with what I could do with it. Other little toys and doodads helped me learn what programming could be and slowly it just became part of my psyche, thinking about computers and how to instruct them, and what I could build with them.

High School and College

Screenshot of a QBASIC terminal in DOS

A QBASIC terminal, emulated in DOSBOX. This is what my first programming teacher had us learn with initially, before moving on to Java.

Eventually I wound up in high school. I always had an affinity for challenging schoolwork, and as a result I took lots of advanced and difficult classes, like statistics, calculus, and physics. Among those difficult classes was Computer Science 1 and 2, both classes I had to go out of my way to take, as they were early morning classes. It was very much worth it, however. These classes took the practical, self-taught side of my programming journey and flipped it on its head, going from a bottom-up, foundational approach to teach programming principles and computing history. These courses were the final driving force. The structured and academic zeitgeist of these courses turned me from a hobbyist to an aspiring professional.

The very academic roots of those courses permanently affected my perception of the field. Self teaching and practicum was still important and frequent for me, but the feeling of treating computing as a science and an art resonated with me. A few attempts at a Bachelor’s in Computer Science eventually ended with me opting for a more direct route for an Associate Degree of Applied Science, focusing on more relevant classes and a faster pace in exchange for the foundational, academic knowledge of the former. The influence lives on, however.

Post-Grad

While I am pursuing the more practical and business-oriented path of a web developer now, I still have a deep craving to learn more, to understand deeper concepts and challenge myself. I can make all the excuses I want as to why my personal site is so bare-metal (and I will in a future blog post), but in the end, it’s architected the way it is because that’s what I like doing. I like knowing what’s under the hood, and dispelling the magic.

Libraries and frameworks and tooling are all essential parts of the workflow of the modern web dev. They have to be, because of the volume of work we are expected to do and the uniformity it requires working on large teams. However, the magic of getting my hands dirty and doing things myself will always draw me in to learn more and strive for smarter solutions, and in the end, make the craft as a whole much more enjoyable to me as well.