I have been working in web technology for more than 20 years. I spent the first five years of my career as a full-stack developer. Back then, we used the term webmaster. I would set up servers (which included e-mail and FTP), order domain names, create databases and order SSL certificates. I would code the backend and the frontend, plus open up Photoshop to do a little bit of design and UX from time to time. I was the scrum master and the business analyst plus I would support customers and project manage their websites. These tasks and job titles were all just part of being a webmaster. You crafted the web by yourself, and it lived in a box in the room next door, occasionally you would have to go in and check on it, maybe even restart it.
Later in my career, I saw an opportunity to specialise. Living and working in London, I saw the increasing need for the expert. Recruiters started to ring me, asking about specialist job titles. I very much enjoyed the visual element of working in the browser and JavaScript was growing in power and clearly here to stay. Macromedia Flash had died, and Java applets were long gone. People were talking about HTML5 and making huge promises. The title JavaScript developer was being thrown around in my world for the first time and with JavaScript being such a strange language there was an obvious need for experts, I decided to bet my career on it.
Looking back, I was not wrong. I have had a pretty decent career for the past ten years and rarely have I needed a backend skill set. In today's market, you can easily get by being a specialist and JavaScript is all the rage.
However, recently I find myself somewhat bored of the JavaScript world, keeping up with the latest and greatest frameworks and build tools. It just feels like nothing much is really changing. React and Vue are great libraries but I was able to pick up the basics in just a few hours. Frontend for me just no longer feels like the challenge it once was. Nearly all the browsers are running a version of Chromium) and our build tools protect us in terms of backwards compatibility. I no longer need to know the browser quirks and hacks or the strange nuances of JavaScript. Today we can simply write ES6 or TypeScript and JavaScript just works.
I feel a change is coming and a big one, words like serverless, static sites and cloud computing are popping up daily, people are talking about writing C++ in the browser and compiling it to WebAssembley. We have exciting new browser API's like WebGPU, USB, Midi, Web Speech and WebVR. Some exciting things are starting to happen and potentially JavaScript will die, it will be a slow death for sure. But we need to remember that nothing lasts forever.
Today I hear people say JavaScript won't die and WebAssembley will just be an extension of JavaScript. But what is that based on? I think they say it just to cling to what they already know.
It's certainly exciting times for the web and I guess I have a fear that I will be left behind in the JavaScript world. I feel like it's time for me to break free from the chains of JavaScript. It's time to learn something new.
Where are we headed? I am not sure. I just know that I don't feel like learning yet another JavaScript framework.
I have decided that I will commit to learn Rust and dive into WebAssembly. Rust is a powerful language like C++ yet safer. I can use it in the browser and on the server, plus it will be a challenge for me to switch from JavaScript to a low-level programming language like Rust.
My current plan is to focus on several interconnected paths. I will dive into Rust, WebAssembley, Amazon Web Services (AWS) and of course, Gatsby so I can share my experiences on my personal blog.
I hope you will join me on this journey as we explore some of these new technologies together.