The WWW came into existence in the early '90s and in less than five years there were 1000s if not 100s of 1000s of web servers already. People were connecting with each other and exchanging information, and learning how to develop with and use this new emerging technology. Everybody knew what a web server was, what HTML and HTTP are. Everybody knew how to build web applications end-to-end. How did we go from that to the modern day roles of frontend, backend, and fullstack devs? I don't know and that's not the point of this article.
I believe that if I call myself a web developer I should be able to build web applications end-to-end. I like to draw a line between web applications and websites. We all know what a website is - HTML, CSS, and JS running in a browser - but what do I mean by web application? Here's how I define it - a web application is a computer program that you may or may not be able to access (directly) over the internet. I suppose many people will find this definition very restrictive as the term is often used to refer to applications built with JavaScript designed to run within a browser as well. I don't like that idea very much so I'll stick with my definition.
So why do I believe that someone who calls themselves a web developer should be able to manage everything? And I do mean everything - making the website, making the web application, managing servers, managing security, managing the database, managing the scaling, etc. If you really think about it your computer programs are only useful if people can use it. People write commands, or click buttons, or fill a form, and your computer program does something useful with that. Input in, output out.
Your web application could be anything - a search engine, a social network, a URL shortener, a blog, anything - but what's the point if people can't use it? That's where websites come in. But you gotta know how to make one, and preferably how to make one well. So what's the point of knowing how to build web applications if you can't build an interface for it?
Following that same train of thought, what's the point of knowing how to build web applications if you don't know how to deploy them and manage them and secure them? You built it so somebody could use it right?
I will not deny that it is quite the task to be familiar, let alone proficient, with any one of these but that should be the goal. I am a web developer, right?
Top comments (0)