October 2, 2018

Real Programming

Ten years ago, I took my first programming class at a university. We were learning C which is a programming language that's not particularly forgiving towards beginners. It was easy to make mistakes, and it requires that you knew the inner workings of a computer such as memory management and allocation.

It was a lot to handle. Learning how to program and learning how computers work at the same time was not easy. I almost failed the class, and many people did. On hindsight, the course was made to be deliberately overwhelming. It seems that schools are more bent on weeding people out rather than actually helping them. It's either you failed, or you passed with a dreadful sense of inadequacy.

It wasn't a fun class, and, to be honest, I've forgotten a lot of the things that I learned from that course. However, one thing did stick with me for several years: It taught me that this is how programming should be. I thought that programming had to be tough and arcane, something that only a few people knew and could get into. This kind of thinking stuck with me for another five years, and this was around the time when I started to make things for the web. I remember hesitating—I didn't want to work on a field that was easy enough for people to learn to use on their MySpace page. Web programming, I thought, was a little bit too easy to use compared to my experience in school.

What else can I do with this? Is it really just websites?
Will people take me seriously if I used this?
Is this something that I can put in my résumé?

As I got older, I realized that programming is not about me at all: It doesn't matter how impressive a piece of software is written or if the person behind it had a degree of any sort. Unless you compete, it's not about impressing people. It's all about solving problems.

So recently I've been working on website projects that have very minimal JavaScript. It made me a bit uneasy at first because a part of me still thinks that writing in HTML and CSS isn't "real" programming.

Does real mean it's intimidating and inaccessible to people? Maybe it doesn't even matter if it's real or not. Isn't it enough that we're able to do what we want with it whether that's for a business or just personal art?

And this is why I love the web: it can be a place where professionals like me can grow and thrive in, but also a place where people can begin their first steps in programming. It's changed the way I look at things now, and I'm happy that I'm in this field.

More reading: