What kind of ethics do front-end developers need?

Published on by Hidde de Vries in thoughts

Now that the technology sector of the world is rapidly transforming all of the world’s things into digital things, many have called for more ethics in our field. That is in many instances quite a vague goal, so let’s apply it to one part of digital: front-end development. How can we be more ethical as front-end developers, what kinds of things can we do? I thought I’d try and make a list.

I don’t know what is good for us. I mean, I have ideas about that, but this post is not about those ideas, it is about what kinds of things front-end developers can think about if they want to apply ethics to our field.

What and why

In my talk for Inclusive Design 24, I said that ethics is about how we want our world shaped. But ethics has many definitions, another one is that it answers the question ‘what should I do?’ In that question, note the word ‘should’. It’s about what you’re obliged to do. It also implies taking a moral stance and choosing between different paths. It is about coming up with reasons based on what is considered the right thing, based on a set of rules. An example of such a rule is ‘only act according to rules that you would want to apply to everyone’ (said Kant). And there is The Golden Rule: treat others as you would want to be treated.

The ethics described above is roughly what the literature would refer to as duty-based ethics, it is based on the idea of a moral obligation. There is also consequence-based ethics. Consequentialists look at the outcome of their decisions and actions. They consider how decisions or actions impact the world, for example whether they increase or decrease the total amount of happiness in the world. It doesn’t matter how you get to an increase of total happiness, it matters that you do.

When trying to apply ethics to technology, it should be fine to be pragmatic and combine both approaches. Do things because they are right and do (or leave) things because of their consequences.

The reason that ethics can make an important contribution to the web is its focus on why and how we do things rather than just what we are doing. That focus has the unique chance to make our choices more human, because arguably without ethics we could just leave our decision making to machines. It takes a human to make ethical decisions, said the awesome Laura Kalbag. Thinking ethically about decisions also makes them more human. It works both ways.

Tim Berners-Lee already talked about how ethics is important for the web at the first WWW conference in 1994. He describes this in his book Weaving the web (2000, 86):

I finished by pointing out that, like scientists, people in the Web development community had to be ethically and morally aware of what they were doing

Book Weaving the web by Tim Berners Lee with Mark Fischetti This, about the origins of the Web, is recommended reading, by the way. Don’t judge it by its cover design…

Ethics is important for everyone who makes things for the web: people working on design, product and management. But also for front-end developers. We drive a lot of how modern web products are built and uniquely know of weird details and consequences of products decisions. If ethics is about consequences, we are part of it. So let’s worry about what decisions are made. Rather than just using our expertise to build products, we can think about decisions and then build products. Because it is also our duty and we can help increase (or not decrease) total happiness in the world.

Ok, so do I just npm install ethics?

Admittedly, I’m stretching it a bit, but I would like to show what ethics is not. I should stress that ethics can’t be just added to something that exists, it has to be in the decision process before. Automating ethics won’t work either, trying to do it would also sort of miss the point of ethics. Package managers like npm can install most things that a web project could possibly depend on, but it should be clear by now that ethics is not one of them. Computers can automatically foresee consequences sometimes, they can use statistical analysis see how big your JS bundle will be. Or, more real-world, use facial recognition to see that someone is cheating on their partner. But the point is, ethics is the assessment that can start after metrics like these. It requires humans.

There are plenty of situations in our jobs where we can apply ethical thinking to what we do. Let’s look at some real-world examples.

Front-end developer impact

Ensure accessibility

The web is accessible by default, but as a developer it’s easy to break that in the flow of getting features shipped. I sometimes do this myself, and I specialise in accessibility. There are ways to improve though, for example by focusing (part of) your personal development on learning about making accessible products. By being aware of how to meet the Web Content Accessibility Guidelines and generally accessibility good practices, you can directly contribute to letting more people enjoy the web through code.

Analytics with Do Not Track

You’re asked to implement trackers in a site. You are aware that technically, this will allow some megacorporation to spy on people. You are also aware that modern browsers support Do Not Track. It will likely be your choice to honour your user’s Do Not Track settings, and otherwise your duty to convince the people in the company who prefer more metrics over more valuing user preferences. Or maybe you research a way to completely anonomise the data. This combines duty and consequences.

Impact on society at large

This is a more general example, applying to what you work on and where you choose to work. There’s a degree of ‘but not everyone is so privileged that they have choice’ to this, but I still believe we can all choose to some degree. When working as a front-end developer, it is likely that what you work on will somehow shape the world, sometimes even disrupt it. Should you build the front-end for a product that ‘disrupts’ an industry, but also introduces more inequality and makes the lives of other people harder?

Code of conducts in open source

If you released some of your code as an open source project and it attracted a bit of a community around it, considering community values would make a huge difference. Things like how you want people to feel empowered to make suggestions, feel included in the community, participate and show empathy to each other. A Code of Conduct (for example, a CODE_OF_CONDUCT.MD) could help make these values explicit, and heck, you could even npm install one (just note that this only adds value if you also have a plan for getting incidents reported and responding to them).

Diversity in hiring

As a front-end developer you may sometimes be involved in hiring new team members. This is also a great opportunity to influence how the world is shaped: be aware of possible biases in order to give good recommendations to HR.

Recognising dark patterns

If you don’t like to be tricked into buying services you don’t actually need or want, then your users likely feel the same. Learn to recognise dark patterns and start the discussion if you’re asked to implement one.

Keeping users secure

By being aware of common security risks we can ensure our users are safer online. Most of the responsibilities fall within front-end (and back-end) development scope. The Golden Rule applies here: if you surf the web as a consumer, you would also like the developer who has built the site to have done so securely.

These are all things where an ethical attitude and contemplating why and how we do things can be helpful in creating a better web. They’re not all easy things, some of them are hard to get right. But if we’re going to play a role in making all the things digital things, let’s do it responsibly.


As front-end devs, we can apply ethics to our work by having an ethical mindset when doing our work. Practically we could do this by applying the Golden Rule and thinking about consequences of our code for users and our colleagues, for example by ensuring accessibility, security and a safe and welcoming working environment.

Comments & mentions (66)

Jon Pearse reposted this
het maatschappelijk webbureau reposted this
Tim Severien replied:
Tim Severien replied:
Marc Stalfoort reposted this
Bram Smulders reposted this
Roel Groeneveld reposted this
Bram Smulders likes this
Roel Groeneveld likes this
het maatschappelijk webbureau likes this
Andre Torgal replied: Do things because they are right and do (or leave) things because of their consequences.… via @nevan
Krijn Hoetmer likes this
Kyle Wayne Luck replied: shout out to @hdv from a fellow "philosopher turned web developer (but really still a philosopher)" for this thoughtful piece on ethics & web development
Kyle Wayne Luck replied: shout out to @hdv from a fellow "philosopher turned web developer (but really still a philosopher)" for this thoughtful piece on ethics & web development
HJ Chen reposted this
HJ Chen likes this
Kyle Wayne Luck likes this
alex jegtnes ✨ likes this
Ethan Marcotte likes this
Ulf Walter-Laufs replied: That's an awesome post about ethics in frontend development by @hdv.…
Ulf Walter-Laufs replied: That's an awesome post about ethics in frontend development by @hdv.…
Mamun Mokni likes this
Scott Mallinson likes this
Azis likes this
Веб-стандарты replied: Какие этические вопросы встают перед фронтендерами, или npm install ethics. Хидде де Врис про ответственность перед коллегами, пользователями, обществом —…
Denis replied: wtf…
I almost can see some HR officer asking developers about this bullshit in next 3 years
Glenna Baron replied: Been thinking about ethics in tech a lot lately. If anyone has more resources or reads send 'em my way please!
Peter Thiel replied: What kind of ethics do front-end developers need?… via @WDRLinfo
Enno Stuurman likes this
iBOSSinc replied: What kind of ethics do front-end developers need?… #webdevelopment
Lui likes this
Mandy Michael reposted this
likes this
Holger Bartel replied:
Marc Drummond likes this
Chris Gibbons likes this
Heather Buchel likes this
Radimir Bitsov replied: "Ok, so do I just npm install ethics?" or thoughts on the ethics in the context of front-end development by Hidde de Vries. Really good read!…

#inclusivedesign #frontenddev #ethics
Gerard van Enk replied: Nadenken over ethics en development is altijd goed!
Gerard van Enk likes this
Jami Gibbs replied: What kind of ethics do front-end developers need?…
Jonathan Torke replied: More accessible markup with display: contents…
Web 2 Robot replied: More accessible markup with display: contents…
Bramus! reposted this
replied: What kind of ethics do front-end developers need?…
Avraam Mavridis replied: Nice article about ethics in FE development…
andy dudfield replied: "Ok, so do I just npm install ethics?"

Really like this article on the ethics of being a front end developer, covering;

Do Not Track
Social impacts
Code of conducts in open source
Diversity in hiring
Keeping users secure…
reposted this
Gemma Stiles replied: This article is an interesting read on how we can be more ethical as front-end developers... "Package managers like npm can install most things that a web project could possibly depend on, but it should be clear by now that ethics is not one of them."…
Love, John Morton replied: What kind of ethics do front-end developers need?…
Chris Heilmann replied: What kind of ethics do front-end developers need?…
Chromatic replied: The ethical implications of the work we do on the web is, in my opinion, not discussed nearly enough.This post by @hdv uses concrete examples of where ethics can be applied in our craft, from a front-end perspective.…

Chromatic replied: The ethical implications of the work we do on the web is, in my opinion, not discussed nearly enough.This post by @hdv uses concrete examples of where ethics can be applied in our craft, from a front-end perspective.…

Herman Eberstadt reposted this
Herman Eberstadt likes this
Instrucdev replied: What kind of ethics do front-end developers need?… #css
Believe Adjornor replied: What kind of ethics do front-end developers need?… #css
Julian Schmidli replied:…
Taylor R. Wiley replied: Ethical considerations that front end devs should put into account:…
Ailin Hernández replied: What kind of ethics do front-end developers need?…
Decisive Design replied: With the #digital world rapidly transforming our lives, it's important to work with ethics. This article talks about what kind of #ethics #developers should have!…
Mike Babb replied: How can Front End Developers apply ethics to their work? Hidde de Vries has posted a few good thoughts at…
Unknown replied:
aemeredith replied: What kind of ethics do front-end developers need?…
HsiangHui replied: What kind of ethics do front-end developers need? #coding…
Hidde de Vries replied:

The year is about to end, so it is time for another year in review post! I love reading what others write about their years, hopefully mine is interesting to some people.

Like last year, I’ve divided stuff into highlights and things I learned. To be clear, that doesn’t mean I had a year consisting of 100% highlights and learnings, there is also stuff that went wrong, wasn’t amazing or was personal, I just think they’re for elsewhere (in person over drinks).



In 2018, I spent most of my time in Mozilla’s Open Innovation team, working specifically on the IAM project. For those unfamiliar with it, IAM is short for identity and access management, it is about how people proof who they are and get access to stuff with as little friction as possible. It’s been super exciting to build most of the front-end for a project codenamed “DinoPark”.

In the last quarter, I’ve also spent a day a week working at the City of The Hague, specifically helping with improving accessibility and profesionalising front-end development of their digital services. It’s been great to see improvements shipped both in the application’s code as well as the content management system product.

Other short engagements included:

  • teaming up with Jeroen and Peter, I helped NOS, the Dutch broadcaster, with an accessibility audit, user tests with visually impaired users and an in-house presentation on technical accessibility
  • I ran a one day workshop on accessibility guidelines at Zilveren Kruis
  • with Peter, I worked on JavaScript to power a chat-like interface for the Dutch government


I did not do a lot of volunteering this year, but I did translate the Inclusive Design Principles into Dutch and worked on improving MDN documentation on accessibility.

Conferences and events

This year, I attended these events:

I spoke multiple times, too:

I did my CSS Layout workshop three more times (for Fronteers and at Front-end United) and ran a new accessible components workshop (for Frozen Rockets).

Organisers, thanks so much for having me. The first time conference speaking was stressful, time-consuming and very scary, but also satisfying. I got great feedback, both praise and things I can improve on (thanks, you know who you are).

I’d love to speak more in 2019, please do get in touch if you want to have me present at your event or give a workshop.


I published 26 posts on this blog, not including this one. Like I said in last year’s review: I very much recommend writing, it can be helpful in many ways. It is also great to be able to do this on a domain you own, on pages you designed. If anyone needs mentoring around this, get in touch, I would love to help!

Some of the most read posts:


It felt a bit weird to have the Goodreads app keep me in check reading-wise, but it did the job. I managed to read more than the goal I set. Some that readers of this blog might find interesting:

Book covers of brotopia, klont, common sense and killing commendatore
  • Brotopia, about the ‘bros’ that founded some of the biggest Sillicon Valley corporations and the culture they created. I must admit some doubts towards the word ‘bro’ , but wow, the book taught me a lot about how I don’t want to be and where I don’t want to work.
  • Klont – if you read Dutch, get it! This novel brilliantly captures the phenomenon ‘datafication’ and how it endangers some of the basic concepts of free societies, as well as, unrelated, the phenomenon of ‘experts’ traveling the world to give talks
  • Common sense, the Turing test and the quest for real AI – sometimes fairly technical and academic, but I loved the hype-free thinking about artifical intelligence and what to expect from it
  • Killing Commendatore – if you’re into Murakami or want to start reading his work, this is great. It is a lot of pages, in two parts, but worthwile. I read the Dutch translation, it is available in many other languages, too.

For all the ‘big data’ and AI expertise that Amazon, which owns Goodreads, has, the app is still very bad at recommending new books. For me, it doesn’t go beyond what the most generic airport bookshops stock. The real human beings I have befriended there brought much more reading inspiration.

Things I learned

Some random things I learned:

  • I finally got my hands dirty in declarative client-side component frameworks. My framework of choice was Vue.JS. I learned concepts like routers, props down / events up, reactivity and lifecycle hooks, enjoyed working in this paradigm, but even within that, I mostly wrote just JavaScript, good markup and sensible CSS. I have a blog post upcoming on this.
  • I learned in multiple projects this year how hard it can be to explain the concept of focus. It exists as a thing in the browser (the document.activeElement), but also as a thing in people’s thinking, not necessarily the same way. And then I’m not even talking about indicating focus yet. In my talk in Groningen I spent a number of slides trying to get it crystal clear. I like Laura Carvajals “You wouldn’t steal their cursor” and tried a streetlights metaphor (they are not pretty, but if they’re not there, you can’t see where you’re going at night)
  • I worked with WCAG 2.1 in real projects (testing for the newly added success criteria and talking about them in slides)
  • I added CSPs to some sites (see also How I learned to stop worrying and love CSPs)
  • I did more background reading to better understand the world we’re developing front-ends for (super meta), inspired by various colleagues, conference speakers and friends

What I want to get better at next year:

  • writing and presenting
  • I want to try and build something with Rust
  • get more people excited about having a personal website with a blog

With that, I wish all readers a fantastic 2019! If anyone has written year in review posts, I’d love to hear about them in the comments/webmentions, and read what you have done.

Leave a comment
Posted a response to this?

This website uses Webmentions. You can manually notify me if you have posted a response, by entering the URL below.