A Forgotten Piece Of The Diversity Puzzle


Haskell, But Quickly

Heads Up!

I'm writing a book about building and deploying web applications with Haskell and Yesod. Want to know when it's released? Click here.

The topic of diversity in the sciences — perhaps especially in computing — has been hotly debated for at least as long as I’ve had a career. The topic is deeply political and strongly divisive, and as a result of the current social climate it is dangerous for me — a heterosexual white male — to proffer an opinion, so I will make my position clear immediately: I do not subscribe to modern feminist theory (of which there are many flavours of varying degrees of radicalism) though I do absolutely believe it is important to encourage more women to write software.

A core point of contention in the tech diversity debate is whether or not either sex has some inherent mental advantage. Perhaps programming computers is more suited to the left-brained. Perhaps those who can multi-task, or with more finely tuned soft skills are better at creating a useful software product. Attribute those qualities to whichever sex you wish, but I would argue that these details simply don’t matter.

There is some truth in the idea that the software industry is hostile towards women, and this is perhaps why so many women self-select out of it. A more obvious and less discussed point however is that the industry is just plain boring. Software development is a male-dominated industry, and as a result we produce solutions to male-dominated problems. The act of writing code is a largely uninteresting means to an end for either sex. It’s the fact that software is a platform for driving innovation and improving people’s lives that makes it interesting.

In the best-selling 37signals book Rework, Jason Fried and David Heinemeier Hansson advise that the best way to create a product is to “scratch your own itch.”

When you build a product or service, you make the call on hundreds of tiny decisions each day. If you’re solving someone else’s problem, you’re constantly stabbing in the dark. When you solve your own problem, the light comes on. You know exactly what the right answer is.

If I — a heterosexual white male — were to try and imagine a product that were appealing for women to use, I’m confident that my idea would be so embarrassing and off-target that I would be laughed out of the room. And when you think about it, that should be obvious. I don’t see the importance of affirmative action, fulfilling quotas, or keeping “token” people on staff. I do however believe that as a society we don’t have enough insight into which problems are worth solving, because the people who might bring that insight aren’t being represented in the industry.

It’s not enough to simply have a diverse team where all the nerdy white guys write the code and everyone else does the rest. Because the technical barrier to launching a software project is lower than ever, it’s becoming increasingly common for a project’s domain expert and software writer to actually be the same person. If women aren’t filling programming jobs, how can they be expected to launch ground-breaking innovative products in their own time?

There are many initiatives in place to address the diversity problem such as Rails Girls — a global series of events that provide women with tools and a community to build their ideas — but there is still much work to be done. Perhaps to further drive meaningful change, we need to think globally and act locally.

Interestingly enough, this forces me to contradict myself with regards to my opinion on affirmative action. Perhaps we do need to balance the ratio, because this will be the only thing that counteracts the pattern of mostly one type of person entering the industry, and the increasing homogeneity making it less appealing for everyone else.

A diverse biology produces a stronger animal, and a diverse set of ideas formulates a better social policy. I am absolutely convinced that a more diverse set of perspectives and a more diverse collection of problems will ultimately provide better software for everyone.