Web developer

what is a web developer? How do you define one? What knowledge and skills does it take to be one?

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.

What is a web developer? (cache)

To me, a web developer is a human with enough empathy, humility and practicality to publish resilient and usable webthings. Even better if s·he is part of an inclusive team focused on value(s).

And now I’ll have to define each term.

Human because if you forget this simple fact you are not considering the culture, the experience, the relationships or even the mood of the person you are talking about.

Empathy because you have to care about yourself, about your peers and about your users all day long. Preserving the motivation of all these people to achieve their respective tasks is key and partly depends on you.

Humility because you have to accept the futility of what you are developing for. You have to accept the obsolescence of your knowledge. You have to try, learn, fail, share. And try again.

Practicality because sometimes you have to put your ego, your best practices, your purity aside (hopefully) for a short amount of time and keep going. Better having room for improvement on a public product than working on a perfect private vaporware.

Resilient by using tools that last and are accepted by the team. It may not be pertinent though but it has to be explicit in this case.

Usable by making fast and accessible products, otherwise coding is “just adding bugs to an empty text file” to quote Louis Srygley. A web developer has to understand the biological complexity of the Web.

Webthing because the definition of a website or a webapp is not anymore pertinent. And that is a good thing. Defining is not important after all. Oh wait!

Inclusive team in order to develop inclusive products.

Value(s) both to focus on what is delivered and why.

All that being said, is it really relevant to know how to “write HTML, CSS, and JavaScript by hand”? I’m not sure it really matters and it probably changes from one developer to another. It’s part of the pleasure for me to have as few as possible layers between what I type and what is being finally rendered because I like that simplicity. An editor, a few lines of code, a browser and something understandable happens. An Electron app, yarn install, webpack […] and something magic happens.

And I’m tired of debugging magic, it’s not part of my definition.