For a long time, for some reason, I looked down on web developers. I don't even know why -- I'd never even tried it. I can maybe think of a few reasons why...
-
I did do some web scraping/crawling, and found it to be a tedious, mind-numbing, repetitive task. I thought web development would be similar, sort of banging on HTML until things worked.
-
I read these blogs called Googley as heck, where the author differentiated between a web developer and a software engineer. The author talks about how he spent 15 years as a full-stack developer, but how that wasn't enough for him to be a software engineer. So somehow, it felt like a software engineer was a notch above web developers.
-
Building on the last point, after all, the terminology is different: web developer and software engineer. The distinction must mean something, right?
- When I looked at the front-end engineers in my first job, they seemed to just implement graphics that the UI designers gave them. It didn't seem like they thought long and hard about algorithms; they just fought against HTML and CSS to make things pop up when you click on buttons.
Fast forward to July, when I decided to learn some HTML and CSS to finally build my domain that I've had for years. (It's this website you're currently reading). I was a total novice, writing HTML and CSS from scratch while reading through tutorials.
I thought it'd be a chore. I would become the meme "HTML Programmer", and just fight about boring markup. But surprisingly, this entire process turned out a lot more fun than I thought it'd be. Browsers interpreting my code was something new. Debugging CSS was more fun than I thought it'd be; how should I display my items in my flexbox? What are the right margins and paddings? Why isn't this style applied here? While CSS might not be the most complex language, it can certainly become complicated, presenting its own set of challenges.
Once I started venturing into JavaScript, that's where the real fun started. I got annoyed at its dynamic typing, but to anybody with Java and Python experience, it was very easy to pick up. And I realized that I had a massive graphics UI library in the hands of HTML5 and CSS3! Previously, when I created something, it was always a chore to read the graphics libraries' documentations or have to resort to doing something through the CLI. But with JavaScript, I could actually make dynamic apps that looked nice!
Essentially, JavaScript programming was nothing new. However, I'd learned HTML and CSS on the way, and intentionally found myself with powerful tools to aid my code. When I recently built tetris with Haskell, I fought against the Gloss graphics library. But with JavaScript? I had very well developed, maintained, and resourceful "libraries" in HTML/CSS. It was just so easy to implement a GUI, and it was easier to see the fruits of my labor.
I don't think I'll become a web developer anytime soon, but learning web development's definitely been fun these past few weeks. And certainly, it removed my colored glasses and stereotypes against web developers -- after all, JavaScript is a very complete language of in its own!