Diversity is "the word" in the software development industry these days. The FAANGs do advocate it. Plenty of high profile IT people ("celebrities") support it. There are folks who pretty much make a living out of evangelising it (and hunting its opponents ...), while some other ones have got their professional career broken because of allegiantly "standing against" it. Those are frequently stigmatised as racists, homophobes, white supremacists, etc.
When it comes to myself, I mainly shrug and just do my stuff according to (IMHO high) ethical standards & professional objectivity. Murricans are batshit crazy & this can't be helped, so why bother?
But recently I was thinking about the best teams I've worked with. And what has made them so exceptional. I've tried to approach this question from very different angles - comparing their skills, education, personal traits, sense of humour, background, experience - literally everything that came to my mind. I had a privilege to work with thousands of people of very different cultures, origins, careers & beliefs (ideologically & religiously), so I do not complain of the lack of food for thought.
And of course, in the middle of all that - I was trying to understand the role of diversity - is it really an essential factor in making teams better & more versatile, broadening the spectra of solutions team can come up with, etc.?
There are diversities and diversities
Here's what I came up with:
Diversity DOES make a (positive) difference - but not all kinds of diversity. What can easily create a difference is the diversity of thought and experience. Exposure to different teachings, real-life situations, work scenarios, challenges, types of stress/pressure, commercial conditions, methods, even just different people. That's why the teams composed out of (even super-smart & very motivated) individuals who've started in the same environment (as juniors) & always worked together (in the same team) were never high in my ranking.
There's also a diversity of talent & personal traits. Some of us are better in some activities than others, and not all such differences can be made up, even with hard work. There are great organisers, algorithm gurus, natural leaders, super-efficient communicators, analytical mega-minds, etc. Everyone has her/his strong and weak spots, so a properly composed team consists of individuals who are capable of filling others' deficiencies with their own advantages.
These diversities mentioned above can be very beneficial (with a proper selection/composition of course). But there are also such kinds of (social) diversity - like race, gender, origin, ethnicity, sexual orientation, etc. - that are something we should be blind for (when it comes to work context).
What does it mean?
It's a reference to the words of Martin Luther King and his theory of colour blindness. The idea is not to favour someone who's presumably underrepresented in the group (e.g. to compensate any kind of social injustice), but to rule such traits out of all considerations, treating everyone equally in every dimension of life like there are no skin colours, religions, diets, political standpoints, etc.
Why so? Because these traits (even if important for us personally) do not make us better or worse engineers (/crafts(wo)men/team members, etc.), so they should not be any professional decision's factors. Parities, target percentages, looking for any particular gender/racial/ethnic/sexuality mix - these are just distractions that DO NOT help in making better teams.
Diversity, inclusion & ... chemistry
The interesting fact: the diversity in terms of traits like gender, race or sexual orientation can have a positive effect of increasing inclusion (and that's what many high profile companies values very high, as a way to fight the talent shortage) - which is an entirely different purpose.
An environment that is too homogeneous can easily get pathological - elitist, toxic for anyone who doesn't fit the common image of a particular role, even abusive. This concern is more about the general state of the (in fact: small) industry and its future than any team's better composition. Hence - it's a different kind of story (and the issue itself can be tackled in many ways).
There's one more vital aspect to consider, which is somehow related to diversity in the team(s) & IMHO plays a big role in whether the team becomes highly performant or not: so-called "chemistry" (team chemistry). I'd define it as how much effort (energy) is needed for the team to collaborate effectively (communicate, cooperate, etc.), assuming the goodwill & sufficient skills of everyone in the room. Some say that it's a speed of how quickly team "gels" together. It's a common truth that what helps here is ... similarities, not differences. E.g. having something in common (interests, hobbies, favourite activities) or belonging to the same social communities.
That's an example of a situation where too much diversity can be actually restraining. The best teams I've worked with always shared something important (for them): played the same computer games, liked to socialise in the same way, were keen on the same kind of music/art, did the same sports, etc. Or were just similarly geek-ish, referring to the same classic movies, laughing at each other's jokes & wearing equally non-stylish t-shirts :)
The similarities actually were bringing them closer together.
It's a hell-of-a-topic. It goes far beyond a scale of a single blog post, but I'd like to leave you with a single conclusion of mine. Don't go nuts. Seriously. Diversity does play an important role in the art of team-building when it comes to traits that are directly used in software craftsmanship (not just coding though!). But the meal preferences (vegan or carnivore), religion, skin colour, origin or ethnicity are simply meaningless here (in this particular context).
Keep sociopolitical, ethnic, religious discussions & struggles out of engineering. It's hard enough w/o them.