The past year has been one where I’ve had to focus even more on diversity, inclusiveness and what all that means. I’ve long held the view that diverse teams are better teams as they bring with them diverse experiences and knowledge. That diversity can give a diversity of solutions so it’s more likely your team will apply the best or even discover a novel solution. It’s a theory I hold closely that is backed up my some academic research tool

However I’ve also experienced the high productivity homogeneous teams can experience. It can be much quicker for the team to create social cohesion and disagreements are rare. It can free people up to focus on what they are producing (which for me is software) with few concerns about social interactions.

In my experience building diverse teams is still a challenge. A company will define it’s culture very quickly and if that culture is of young white men it’s going to be very hard to shift. No one wants to be the only woman on a software team. No one wants to be the only person of colour. So even if the company works hard to be as open and inviting as possible it may be too late.

I worked with a senior engineer who said he would “never hire a woman programmer again.” Apparently he hired someone who left on maternity leave within six months of starting. I didn’t ask for details as I didn’t see much hope of changing his views. I simply said that I didn’t agree and if I could hire a skilled woman I would. Currently I’m working with a very skilled engineer who will shortly go on maternity leave for a second time. She’s earned it.

I’ve also helped with group interviews where I left a woman participating was overlooked by the other assessors. They ranked her poorly on technical skill, below most of the men participating. When I pointed out that she was one of the few that knew C++ and also demonstrated that skill in helping the group succeed the assessors agreed. But the marks remained unchanged.

I do my bit to overcome these challenges I observe. Maybe slowly change views. The team I work with now is one of the most diverse I’ve ever worked with. That unfortunately has also made it one of the most difficult to work with.

We clash on so many topics. What design approaches are the most appropriate. When to refactor code we don’t understand. These may seem like technical disagreements but they are carrying an element of culture clash. Everyone has brought their own experience and their own ideas of what “good” looks like and the other side can seem completely alien.

As a result we spent a lot of time of carefully exploring these disagreements. Making a safe environment to raise differing and even controversial views. To the point where the team complains that we spend too much time discussing things. It would be easy to assign a dictator to resolve the conflicts. To pick a lead and say “this person will hear all your views and decide for you.” But I don’t want to. I fear that it’ll slowly silence and push out views that don’t work well for that person. I nearly ended up as that person myself and quickly evaded that title.

So I persevere. I hold close to my faith that this makes the team better. That slowly some of the arguments will go away. But new ones may rise in their absence. It’s hard work. Sometimes I look at happy teams of young white men and I think how I’d like them to be more inclusive. But I don’t push very hard for them to change as I doubt they’re ready for the challenges of diversity. It’s not a happy feeling.