What is a Web Developer?

by Tim Severien

In February, our beloved web developer community was stirred up by a slide from Peter-Paul Koch’s talk.

The slide, containing the text “If you can’t do without tools you’re not a web developer,” was both praised and damned by the community. Peter-Paul Koch (PPK from now) responded by asking, “What is a web developer?” and provided a personal definition for web developer.

To me, a web developer is a programmer who is not only able to write HTML, CSS, and JavaScript by hand, but also has a deep understanding of what browsers can do to that code.

Web development is undergoing a transition. HTML, CSS, JavaScript, and other required skills are often shaded by the extensive list of tools. Without good understanding of previously mentioned languages, a product’s quality will suffer.

This appears to be PPK main argument for his slide and definition.

The Term

I care about terminology. I like to think of why something was given a specific term, research of what parts a term consists and how that changes over time. Let’s start by analysing the term.

In its simplest form, a web developer is a developer that builds web-based software. This leaves room for interpretation. To answer PPK’s question, we need to specify some criteria, essentially defining who is worthy bearing the title.

The Current State

Today, web development mainly involves HTML, CSS, JavaScript and an impressive stack of tools.

HTML and CSS is inevitable for viable products. Despite JavaScript opens up a lot of possibilities, it is superfluous. Without it, a product can be equally succesful.

Currently available tools (visual editors excluded) can abstract HTML, CSS and JavaScript in such a way you become detached with each language. This wouldn’t be an issue if it wouldn’t impact the product, but too often it does. Suboptimal output, both in quality as in size, affects performance and usability.

Considering all of the above, I agree with PPK’s definition, with the exception of JavaScript.

The Future, Unknown State

Today doesn’t last forever. Things will change. We cannot assume the web will run on HTML, CSS and JavaScript forever.

WebAssembly is a good example of this. In it’s current form, it overlaps with JavaScript and needs to be compiled using JavaScript, but ambition is to have it run independently and have access to WebAPIs, making JavaScript interchangeable. The same could happen to HTML or CSS.

The Definition

This brings me back to terminology.

A web developer is aware what technology web agents (e.g. browsers) provide and is at least able to build a static page of reasonable quality.

The above definition has a property the one might consider a flaw: it is subjective. “Aware” and “reasonable quality” both leave much room for interpretation. It also leaves room for change, which is inevitable in the wonderous world of web development.