CodePen probably won't work great in this browser. We generally only support the major desktop browsers like Chrome, Firefox, Safari, and Edge. Use this one at your own risk! If you're looking to test things, try looking at Pens/Projects in Debug View.

How to build diversity into your code?

Why wouldn't you be super interested to look for ways to make technology more diversity-friendly for any minority? I know I'd like to build a world that represents me and keeps me, as well as others, fundamentally safe. Inclusion will never be perfect but there must be ways to enhance it. But how?

Minorities are a majority

It's a known fact that the fields of software, computing and computer science are plagued by tremendous underrepresentation of women and people of color. I wonder which other diversity factors need a bit more of a boost. Apart from the gender gap be sure that little to none transgender and gender-non-conforming individuals will be able to get coding jobs. And what about the differently abled? If you're deaf you could still be the best programmer out there, but Scrum isn't known for being deaf-friendly. And how about autism? An agile process doesn't seem like the best place for people who are very well qualified in coding but just act 'different' with crazy speedy deadlines where people have to assert themselves...

But wait a minute... Is this really about minority? As I come to think of it: diversity among humans is huge and incredible. The one group that is in undisputed power is just this one: white men.
But wait: as a white man it's sort of okay to be gay but don't be open about it and don't be a sissy or nice, be assertive. Also: don't be disabled in any way. And ehm... when you're over 40 you're now old... The group that has it easy is becoming smaller and smaller. White men are not in power, if they are over 40, gay, disabled, friendly and a feminist. There is now a small minority in power: white, able-bodied heterosexual men between the age of 25-39. With their tunnel view increasing, leading to grave mistakes in programming, like this one:

Obviously the white heterosexual western first-world men who made these apps had zero sensitivity to the daily life situations of their clientele...

We really NEED coders who understand the people they are creating for.

More painful examples

For your enjoyment, here's a bunch of examples with mixed amounts of loveliness. Cases where blindness to inclusion and gender-biased technology has immediate results. Sometimes funny, sometimes not so funny:

Remember Sally Ride, the first female austronaut in the US? She was offered 100 tampons for a 7 day trip because the scientists at NASA had no idea how many tampons a vagina-bodied person uses.

For a long time seat belts were only tested on dummies that had the height and build of an 'average' man. As a result seat belts were positioned too high for an 'average' woman and cut their necks. And the influence of having breasts on seat belt comfort and safety was not tested. Currently conventional seatbelts still do not fit pregnant women properly.

Medical instructions about heart attacks often only describe the most common symptoms experienced by male-bodied people and ignore the most common symptoms experienced by female-bodied people. Defibrillation instructions often do not describe that the bra needs to be cut open in the middle. Instruction videos that show defibrillation almost always use a male actor because the makers of a video do not dare show a woman's naked chest, even though 50% of the world population has them and we already know what breasts look like.

Visual gender role clichés:

On airplane safety instructions it's almost always a woman 'assisting the child' to put on an oxygen mask.

Most ICT flex-work software systems that depict a 'person' almost always represent them with icons of little white men with ties. Anyone else isn't really a person I guess.

From my personal experience: Some years ago I was working as a callcenter agent at a health insurance company's helpdesk. One day I received a call from a man who asked if he could please get a new insurance card because the company sent him a pass with the wrong gender; every year. As it turned out: this was a married gay couple and this type of health insurance would automatically also cover the partner of whomever was main insurant but... the system's database was programmed in such a way that it would calculate whatever opposite gender partners would have from the main client...
This happened quite a lot (I'm from the Netherlands where gay marriage has been legal since 2001). I never even thought about this, but I've learned. I would say this is a perfect example of a practice where programmers really can make a change. Programmers who themselves are diverse and by default can translate their life experience in diverse data systems.

STD forms: many health institutes that check on Sexually Transmitted Diseases will start their web forms with question number one being "are you male or female", then splitting up the respondents to direct them to very different question paths and their respective body parts. This makes no sense for transgender clients who can present a different gender from what their body parts are traditionally said to dictate, and it makes no sense for intersex people either who may or may not have particular bodyparts that were set as static in the database. For example: you might be a very masculine transman, mostly cruising in the gay male scene, and therefore you'll need to get tested on "traditionally gay male" STD's - yet these web forms won't allow you to enter any symptoms you might have near your vagina if you so happen to have one. This is an example where a database poses an actual health threat.

What to do?

Well, it seems simple. If we need coding to keep a better eye on inclusion we need to hire and school more diverse programmers. But that's not enough.
Project leaders and managers also need to be diverse. The value of this issue needs to be ingrained in everyone's psyche so we can all understand the essence of safety.

We need more video games that don't have the cliché hyper-sexualization of women. We need more medication that isn't just tested on men only. We need databases that do not define gender but make it a variable entry. We need feminist emoji's. And we need more, way more public urinals that are not just accessible to people with penises, because yes: building stuff is technology, and we need to build better stuff. Better software and better hardware. It's possible, we can do it. There really is nothing that can stop us.

Are you a coder?
Can you build projects that keep people safe and that increase inclusion?

Do it now!

Some good initiatives

Here is a bunch of links to some interesting organizations and individuals who are trying to make the world of coding less of a place for just the tiny minority of white-heterosexual-30-something-able-bodied-assertive-men:

Does this mean a 'straight white guy' (as you put it) would be less likely to be hired than a non-cis 'person of color' of equal skill and experience purely on the basis of characteristics they have no control over?
That seems somewhat regressive.

Wouldn't it be better to have support groups around making these perceived disadvantaged groups better coders to have (statistically disproportionate) larger representation?
P.S are indian and chinese/taiwanese PoC? ;)

@BinaryNate Your point is a different one, that goes besides the point of my article. Let me add another one about skills. This is a quote from a female rockband: "...I often thought about how many horrible bands there are with men in them. Then I thought - we could have so many imperfect girl bands and we'd still never fill the quota of horrible male bands... so we have a long way to go as women."

I'm going to keep this (first part) short, so as to avoid ranting too much. I'll still rant afterwards, don't worry (because honestly, this reminds me too much of the pants-on-head-retarded Tumblr postings that have appeared throughout the last few years).

Your argument seems to be that we should think of those that are different from ourselves, whether physically or mentally, when we design software. Which is fine, of course. The problem comes when you extend that to mean that we should hire those same people, because apparently they are the only ones capable of knowing what to do.

If you start basing your hiring decisions on how diverse your group is, you'll end up picking less skilled workers simply because they have whatever arbitrary "diversity" parameter you're looking for. In contrast, you could hire those that are most skilled at the job - regardless of diversity - and then handle the problem of supporting a diverse userbase by doing what you'd do anyway - doing research into how your userbase interacts with your software, and what issues they may encounter based on their specific needs (this also includes incorporating those thoughts into your testing, development guidelines, so on and so forth).

Now for some ranting on the more Tumblr-esque parts of your post. You might be better off ignoring this:

> we need to hire more more diverse programmers. But that's not enough. Project leaders and managers also need to be diverse.

If the problem you're trying to solve is that software does not properly consider everyone's needs, then I fail to see how it's relevant where in the developer-branch those forcedly-diverse positions are placed. For as long as they are allowed to give feedback, and that feedback is taked serious, they could be the junior dev or the CEO of the company. The important thing is that the feedback is there. This "we need to hire diversily all the way up!" idea translates to little advantage, and potentially huge disadvantage in a possibly less skilled leadership.

> We need databases that do not define gender but make it a variable entry.

Didn't you forget to also tell us to ask a species field, so users can be adressed as the fox-, god- or F16-kin that they feel they are? This whole "we should support every imaginary gender" translates to a lot of work - the pronouns themselves translate to an additional 4 fields the user has to enter - all for something that literally isn't an obstacle when it comes to using the software. (That's ignoring that only very few, very specific software actually need to adress users by anything but title and name)

> We need feminist emoji's.

Say what now. Can you at least explain what a "feminist emoji" is? Is it... an emoji of a man and a woman on the same y-position? A pink dollar stack of the same height as a blue dollar stack? A man and a woman embracing?

> And we need more, way more public urinals that are not just accessible to people with penises.

Ah yes, the most pressing diversity problem in the software industry. Because clearly the amount of women urinals is crucial to the quality of our code.

> Obviously the white heterosexual western first-world men who made these apps had zero sensitivity to the daily life situations of their clientele... We really NEED coders who understand the people they are creating for.

And then eventually draw this conclusion:

> ...we need to hire more more diverse programmers

The assumption is that white males must be utterly unable to anticipate certain things, and only an insider (a minority in this case) has the ability to handle these unique scenarios. Here is my question: how should we go about deciding upon a demarcation principle that allows us to distinguish between a case of simple error (where the individual fails to account for some use case, due either to the fallibility of human nature or lack of experience but not cultural standing) and a case of blindness in-principle that has origins in racial/sexual/societal privilege? Unless you explain this, then your prejudice remains rather hard to stomach.

> Remember Sally Ride, the first female astronaut in the US? She was offered 100 tampons for a 7 day trip because the scientists at NASA had no idea how many tampons a vagina-bodied person uses.

If she's the first female astronaut and they aren't sure what the effects of prolonged weightlessness would be on menstruation … would you rather go into space with a multiple of the number of tampons you might need, or a fraction of the number of tampons you might need? There aren't drug stores in orbit if you guess wrong!

In this case it sounds very much like they took her unique needs into consideration with a lot of thought, and ensured she was more than accommodated for anything that might happen. If they weren't including her needs I'm sure they would have sent her into space without any tampons at all.

You sound like a mindless Tumblr-dwelling SJW when you use "Trumplike-comment" because someone has a different opinion to you. You expressed your opinion in this (frankly odd) post and @Yuri_Coder did the same in his comment. If you don't like people commenting on your skidmarks, please don't air your laundry in public. Stay awesome.

We're all for progressive enhancement, but CodePen is a bit unique in that it's all about writing and showing front end code, including JavaScript. It's required to use most of the features of CodePen.