I can’t remember where I read this (probably Quora), but it was pretty recent; Some people were discussing online about how difficult web development is, despite the lowest barrier to entry.
The landscape of web developers is so divided, it is almost impossible to find two web developers with a similar set of knowledge even though their job title may be similarly called “Web engineer”. We are further divided in UI/UX, front-end, back-end, full-stack, dev-ops, sysadmins… and probably more. In short, being a successful web developer means we have to be at least an expert in one domain (in my case, front-end), and an above-average competency in the others. I can’t just say “I know how to convert mockups into actual websites”, as employers will also expect that I know “how to set up a server, deploy the website, write REST API”, and more. Heck, CMS’s (e.g. WordPress and Joomla) are also a subset skill of web development that I don’t have, but is sought-after by a certain group of clients.
The discussion above was compared to traditional software development — Just write desktop or mobile apps, iterate, release, and that’s it. It’s all in a closed environment. Software like painting programs, games, desktop applications, are written with languages that have matured and been around for a while, meaning there are seemingly finite amount of knowledge to be gained before they can plateau and live comfortably as an expert. An example would be C++, where the language itself never really evolves too drastically, or at least, for the companies that heavily rely on said languages, they risk a lot if they decide to rebuild their apps in a completely different language or framework. But this is not the case for web developers. We’re always expected to learn new things and forget old things over the years.
It made me realise that all this while, all my self-depreciating thoughts, thinking that I’m a terrible programmer despite my years of experience, is due to the fact that I never stopped learning — that every time I think I’ve gotten better, the web landscape decides to change, and I have to learn something new all over again. It made me realise that I’m pretty much in a situation like Sisyphus, the guy punished to eternally roll a boulder uphill that will inevitably roll back down.
I don’t know where I will be in 2019, but I really want to get back into traditional software development. Y’know, the kind of development where your past experiences in the language is still useful for at least the next 10 years. In short, making games.