Contributor: Daniel F.
Software engineers, being human, bring their full selves to the workplace, and with that, their culture—broadly defined as a collection of shared beliefs and practices, including their religion, customary foods, and ways of showing respect to others. How does this affect the practice of engineering management? In this post, I will share my reflections on the challenges of managing a multicultural engineering team, as well as provide some guidance on how to resolve them.
I'm proud to say that I’ve managed teams that have included software engineers, quality engineers, and product owners from around the world. Countries represented include Austria, India, Lebanon, Myanmar, Nepal, Russia, Serbia, Thailand, and Yemen. As my entire management career has been based in Thailand, most of us are also experiencing working in a culture foreign to our own. It’s a rare opportunity to get a chance to experience such a diverse array of cultures.
In my experience, the first, but not necessarily simplest, step in managing a multicultural engineering team is to explicitly acknowledge this cultural diversity. Reflect with your team that working with people of different backgrounds will likely cause some friction and miscommunication. It’s only after you and your team reflect on this diversity that you can become sensitive to issues that may result. Once you open the discussion, here are some things you might learn:
Meals: A shared meal, perhaps over drinks, is often used as a basic team-building activity. Food and alcohol use are closely tied to culture. Some members of your team may be vegetarian, abstain from alcohol, or adhere to an entirely different diet. When managing team get-togethers, actively seek to learn about and incorporate your team members’ preferences. Failure to do so may leave some feeling excluded, which can negatively affect team dynamics.
Task assignment: Developing software on a team of any size includes assigning tasks. As a simple example, software dealing with money may require a feature for interest calculation. Since certain religions forbid receiving or paying interest, a team member observant to that religion may decline to work on such features. As a manager, you should be aware of these nuances.
Tone: Open team discussion is vital to getting to the right solution. People from different regions of the world may be used to different styles of argument: some blunt and upfront, others indirect. Failing to account for these differences may result in someone’s feelings getting hurt or the wrong solution being applied because it was argued most vociferously.
Now that we have made ourselves aware of our cultural differences and reflected with our team, the next step is to build a new culture. Usually, when we talk about “culture” in the context of software engineering, we refer to a collection of shared beliefs and practices we use to deliver great software: Do we enforce code review? How do we triage bugs? What metrics (if any) are most important to us? Properly setting a healthy engineering culture and getting a team to uniformly adopt and enforce it put the team on common ground and can address the friction and miscommunication highlighted above. Setting this common ground can distinguish a high-performing team from a low-performing one and is arguably the chief responsibility of the engineering manager.
In conclusion, managing a multicultural engineering team is a two-step process. Step one is to not ignore traditional cultural differences; talk through them with your team. Step two is to acknowledge that your role as an engineering manager is to set a healthy engineering culture. Accomplishing these two steps will make working in such a team a rewarding experience for you and your teammates.