Hobbyist’s toy or serious endeavor?
Computer Science is a very broad subject and it often feels like the more you know the deeper the well of untapped information becomes. I grew up in the 90s and my father was a software engineer for my entire life. Back then computers were far less common, the internet ran mostly on dial up, and no one had a mobile phone. I started messing around with code at about age 5 in a simple language called Q BASIC on our old 386 machine. Through the years I moved up to HTML, CSS, Javascript, Perl, C, Python and many more. Throughout my time at OSU I’ve had to take on some of the most complex logic problems I’ve ever encountered in classes like Analysis of Algorithms and Operating Systems. Creating a command line interface in C is something I never want to have to do again. I’m glad for the experience I’ve gained, the complex sorting algorithms and games I’ve had the chance to program here. But before I got back into school for a second degree in Computer Science, before I could write even a bubble sort on my own, the thing that really got me interested in programming in the first place was web development.
To me web development is like a rube goldberg machine; one big elaborate setup of precariously placed parts that maybe, just maybe if everything goes according to plan is a fascinating chain of events that most people take for granted. A lot of programmers take web development for granted. I’ve seen it looked down upon as being simplistic, not ‘real’ programming, not requiring a degree and mostly relegated to bootcampers who skip the longer term commitment of getting a formal degree in computer science. A friend even suggested to me to go to a bootcamp instead of school if all I wanted to do was web development. I did, and I tried to freelance on my own and it didn’t work. Luckily I stuck with it and I’ll be graduating with my Bachelor’s of Science at the end of this term.
In some ways it’s understandable why this pejorative opinion of web development pervades. In its infancy the internet was a military tool for long distance messaging. In the 90s when I was a kid, ugly and slow loading html pages were the norm. Google wasn’t around yet and sites like Yahoo, Northern Light, Alta Vista, and Lycos were constantly fighting for search engine users (Yes I used all of those). I remember in middle school being part of the “Advanced Computer Programming” class where one of our main class projects was to update our school website. What really captivated me about web development from the start was the fact that html was so immediately gratifying. You could edit your code, reload it and immediately see visual results of what you had done. I remember spending a weekend figuring out how to make the school’s Spanish language page play a midi file of latin music in the background when the page loaded. Thankfully I’ve moved away from such tacky designs these days but that creative aspect is what really made programming fun for me in the first place.
I can safely say that I’m not the only one with a love for the web. CSS Zen Garden is an online shrine solely dedicated to the pursuit of beauty through css stylings. Video games are created and entirely enjoyed in the browser (check this recent google doodle). I myself have created interactive web applications just for fun:
One thing I can say for sure though is that the area of web development is not just simple and easy. HTML and CSS can on the surface make it all seem that way, but having worked professionally and academically on multiple projects involving: Angular, Microsoft Azure, CosmosDB, MYSQL, pHp, HTML, CSS, Javascript, React, Vue, Gcloud…. (the list goes on) there are always so many moving parts to keep track of. It seems like new libraries come out every week and a cursory look at jobs in the field back up the sheer variety of skills needed to work in this industry.
The important point about all of this for me is that Computer Science is a huge space, with tons of different areas to work in all of them are important. Sure new technologies such as AI or Machine Learning come along and drum up all the popularity and attention with them. But the web is still a hugely important part of the world. It lets you buy furniture on Amazon, video call your co-workers, play movies on youtube or do your banking from your phone. And even though throwing up a blog can be as easy as making a squarespace account, there is a huge amount of variety of applications and some of them are vastly complicated as well. Check out this awesome project from folding@home. I think it’s fitting that my final project is a web application as it brings me full circle back to my starting place in seventh grade. I look forward to finishing this project and starting the next one for many years to come.