Engineering Manager: Resolving Interpersonal Situations
This article provides insight into interpersonal conflict, common scenarios, and tips on how to manage them in a professional environment.
Join the DZone community and get the full member experience.Join For Free
This article is a follow-up to the Engineering Manager: Resolving Conflict Situations, Part 1. In the previous article, we talked about intra-personal conflicts which are associated with people themselves. Today we will talk about interpersonal conflicts, common scenarios, and some tips on how to manage them in a professional environment.
Interpersonal conflict is between two or more people that do not agree on topics such as what actions to take, what the priorities are, or how to resolve a situation. This kind of conflict is the most frequent and is usually the easiest to solve, but if poorly managed can generate an atmosphere of resentment between people.
Conflicts between Product Managers, Engineering Managers, and Tech Leads are common for different reasons:
- Some roles have gray areas.
- Teams confuse the meaning of self-organization and sometimes confuse collaboration with the capacity to make decisions.
- Unclear performance targets for the product manager, engineering manager, or tech lead
- There is no clear definition or standardization of certain roles in the industry, so when people move from one company to another, sometimes the responsibilities for the same role are different.
Collaboration means working together to achieve goals by providing support or feedback actively. It does not mean taking responsibility for the other unilaterally without the agreement of the team or the organization.
Imagine a basketball team for which the coach hires a point guard and shooting guard to improve the offense. The club promotes collaboration and self-organization in the team so during the next season the point guard takes on the role of the shooter and the shooting guard has another contribution to the team.
- Point and shooting guards usually do not have the same responsibility and remuneration.
- The main performance indicator is the number of wins, but also the individual role performance that will be analyzed for each player.
Unlike basketball games, engineering teams are not observed as they play the games, and this happens more in the back room. This type of situation happens on some occasions, must involve conscious decisions, and must be managed and evaluated by the organization to avoid complex conflicts to resolve. Performance reviews should be as fair as possible, and career development and compensation according to the value provided.
The impact is always the same in the mid and long-term:
- Toxic dynamic in the team
- The goals are not achieved.
- Roadmaps are not aligned with the organization's goal.
- High rotation in the team
There are always examples in the companies of self-organized and high-performance teams where there is a great collaboration between different roles. We would like to believe that we can achieve the same behavior from the beginning with all teams, but the reality is that this is not easy to achieve, and this kind of collaboration requires a lot of effort and maturity in terms of organization.
There is no magic rule for success, but at least for me, this is a good starting point:
- Onboarding: The onboarding process should be a must not only for new people but also when we move people from one team to another. The onboarding has to include:
- A clear list of responsibilities and outputs by role/team
- A period of adaptation to the team to understand how they work and what is the best way to adapt to them
- Tighter definition to start: To achieve an efficient collaboration requires trust between all the members of the team. Trust requires time and people need to be comfortable with their tasks and responsibilities and not constantly be questioned. There is a slight difference between providing our experience and questioning decisions. This depends a lot on people's personalities. We can offer an opinion, but the other person can perceive this as us questioning their role or point of view continuously.
- Team Building: Team building activities are very important to increase team collaboration. There are many options such as playing games, trekking, or trust games. I really enjoy having lunch and drinks with the team in a relaxed environment that allows us to get to know each other better.
- Empathizing: It is important to understand what are the responsibilities of all team members, what are the objectives at the team level, and also at the role level. A team is about achieving objectives by helping each other.
It may be obvious that teams are made up of people, but this is something that we sometimes forget. There are several personalities such as controllers, charismatic, helpful, perfectionists, or idealists. In addition to personalities, there are cultural factors between people from different countries.
Many conflicts between people in the same team are because of personalities and cultural values.
This kind of conflict has an impact on people, and team dynamics and evolves into personal conflict if no one manages them.
However, they are the easiest conflicts to resolve in general:
- Identify personality: You have to understand people's personalities, and that there are people that can not work together for a long-time. They have opposite personalities and it takes a lot of effort for them to collaborate.
- Empathize: It is important to forget about concepts such as being right, justice, or blame. Each person sees reality in a subjective way. The first step in resolving a conflict between people is to understand how each of them feels. What they interpret from each other's actions and how it makes them feel.
- Time: Sometimes people need time to understand each other and need a mediator. These conflicts are usually solved but need time and continuous support from the engineering manager.
- Change team: Sometimes a person doesn't fit into a team however, the same person has outstanding performance in another team with people who you know will complement it.
- Mentoring: When the reasons are based on cultural values, having a mentor who has gone through a similar scenario is very helpful.
- Coaching: There are people that need to learn how to manage some conflict scenarios. In this case, a coach can help them apply techniques to manage it.
A person can empathize with this other person, realize that they have good intentions, achieve all the goals, and even with all of the above have non-matching personalities. Unfortunately, they will not be able to collaborate for a long period of time.
In the context of this article, the performance of people is an indicator to evaluate the value provided by people to the organization's success. When we talk about performance reviews, we usually think about the organization's performance process led by the engineering managers. But in the organization, there are many performance reviews that sometimes are unofficial processes. Think about new teams or teams that a new member has joined recently.
When a team is new or new people join a high-performance team, always there is an official/unofficial performance review made by the team members or even people with the same role in other teams. The comparisons are inevitable:
- The salary between new members and old members for the same role
- The quality of software or the number of unit testing
- The number of pull-request has been reviewed.
- The delivery vs the quality of features
These comparisons usually are between people with the same salary, same role, or higher role:
- Same role but different salaries
- Same role but a different value provided
- Between a senior software engineer and a principal or between a junior and senior software engineer
When people believe that the value they deliver and the responsibility they have vs. their remuneration is not fair compared to other people in the same role:
- They may leave the company.
- Sometimes generate bad dynamics
- Demotivation implies a performance decrease.
The impact is similar when you are a junior engineer and you believe that you are providing the same value as the senior engineer in your team.
Sometimes these scenarios are generated by the growth of the company, a bad hiring process, or not fit situations. Depending on the case we will have to apply one solution or another.
- Hiring process: Continuous improvement is important in the hiring process to be sure that the new people hired have the skills necessary and also align with the organization's culture. The target team needs to be involved, but it is important to remember that people move between teams over time. Some people do not fit in a team but fit in the organization.
- Onboarding process: In my opinion, the onboarding process should not be related to delivery, so things like deploying code in production on the first days are not a priority. The main goals are to know the company (cultural values, process, OKRs, etc.) and fit in with the team.
- One2One meetings with each member of the team.
- Join the team ceremonies as a spectator.
- Promote continuous feedback and continuous improvement culture.
- Transparency: Sometimes we need to grow the number of people in the team to face new challenges but there are huge opportunities in the technology environment. If we want to hire, we have to increase the salary range, but probably we can not increase the salary of the current team. In my opinion, we should be transparent with this kind of situation because:
- At the end of the day, people talk about salary ranks, and sometimes the salary is in the opportunity description.
- It is important that the teams know the reasons. This does not mean that all of them have to be aligned with the decision.
- We need to try to align all the salaries in a fair range.
- Not equals: People are not machines, so always there will be differences between people's skills even in the same role. Differences are good because they challenge us to think in a different way. Two senior software engineers can be different: sometimes one of them is more focused on the quality and another on the scalability of the applications. As managers, we need to understand this when there is a performance issue or a conflict based on software methodologies, soft skills, or culture.
- Mentoring: Every new person needs a reference during the first month, someone that supports them to understand the culture of the organization, promotes best practices, and answers any doubts about the role.
- One-to-one: It is a fundamental tool to identify these scenarios. When the one-to-one frequency is two weeks, I always set an informal meeting with several members of the team to ask about the onboarding. Informal communication is very helpful because it makes people feel they are in a trusting environment so they feel more comfortable talking about these topics.
- Team rotation: Everyone deserves a second chance, there are people that do to fit in a specific team but have a high performance in another. When there is a low-performance situation that we can not manage in the current team, we need to evaluate what are the reasons and also if these people can fit in another team.
In another article, we will talk about how to manage people who are really underperforming, how to create a plan to help them improve, and how to manage situations where performance is not improving.
The Frustration of Global Contributors
The main tool of the global contributors is the influence over people through trust and respect that has been gained in the company. Many people think that when they become a manager of principal engineers they will have control of the initiative, architecture, or roadmap. The reality is that people have their own will, and it's not about giving orders, but about supporting and influencing people to achieve their goals.
This is a topic that we will cover in another article, but forget any concept of control and think that people are not machines to which you throw a command and they always respond in a deterministic way.
Interpersonal conflicts are cases where the managers have more capacities to support the team to overcome and avoid toxic dynamics. I have seen many interpersonal conflicts during my professional career and most of them were avoidable.
As managers, we should never look the other way thinking that problems will solve themselves. This does not mean that we need to take direct actions in all cases but should be a conscious decision based on the analysis of the conflict. We have to design a strategy to try to improve the situation and also determine which situation has no solution and we will have to make that complicated decision.
We are not heroes and we are not alone in solving interpersonal conflicts. We can collaborate with other engineering managers, people departments, and team members. In the worst-case scenario, it is important not to look for blame, but to do a retrospective analysis to understand what we could have improved and what the causes were.
Opinions expressed by DZone contributors are their own.