4

I have just joined a team as a technical lead. The team consists of a few junior developers who have been working on the project for about a year now. So I am the new guy to the team.

The junior developers have about 1 year experience in the software industry. I have over 9 years of experience. My job is to work with these junior developers, ensure they follow all software development best practices, rely on my prior experience to foresee any technical problems that may come up, discuss them and propose solutions for them in advance, etc. My role is 50% leadership and 50% technical.

I am having some trouble working with one of these developers, let us call him John.

Different people have different opinion about John.

  • I find John to be a little unprofessional and uncooperative, e.g. In my opinion, he bullies one the teammates in the meetings by pointing out problems in another person's, say Dave's, work and explicitly stating in front of everyone in a meeting room that he does not want to work with Dave.
  • John has clearly explained why he does not want to work with Dave. Dave often used to take decisions that are 180° opposite to a decision made by rest of the team, a decision based on which John was already working on stuff, and Dave used to go ahead and implement the opposite decision without consulting or telling anybody. This meant waste of days or weeks of effort invested by John in his work. This has happened multiple times before I joined the team, as a result John has become fed up.
  • Manager does not disclose his personal opinion about John. He wants John and everyone to get along well so that we can get work done. There have been situations where John outright refused to work on a project assigned to him by Manager because Dave is working on the same project. The manager had to spend about 10 minutes trying to convince John and explain him the time constraints after which he reluctantly agreed.
  • Some other members of the team think John is blunt. I mean, what I think of as "bullying" is seen as "blunt" and "honest" by others. So I am not quite sure if my assessment of him as somebody who is bullying Dave is correct. Whether "blunt" or "bullying", everyone agrees that his behaviour is an exception in the team.
  • Dave has personally expressed it to me that he wants to avoid talking to John as much as possible but wants to get work done.

I find my own interactions with John quite problematic. Two examples below.

  1. In one occasion when John, Dave and I were taking a technical decision, John appeared visibly unhappy to be a part of the discussion because Dave was involved in the discussion. He said, "You take the decision. Tell me the task. I will develop it." He was not interested to consider the pros and cons and be a part of the decision himself.
  2. In another occasion when I wanted to know how many tasks he wants to pick up for the current quarter and how much time he needs to complete them, I found him uncooperative. He behaved as he doesn't understand my question and said, "What does your question mean? What number of tasks?" At this point, he got on my nerves too and I clarified what I mean although in the same tone as his. However, he did not give me any numbers. Instead, he said, "You assign the tasks to me and I will complete them."

I want to have a good and productive working relationship with John. But I don't know what the right approach is. Of the various approaches I have been considering, some are.

  1. Appear stern and no-nonsense guy to John so that he is careful with his words and behaviour while interacting with me.
  2. Be myself, ignore his tantrums, assign work to him and mark his work as done only if the work meets my expectations.
  3. Try to build a relationship with him with occasional small talk etc. To be honest, since I was thrown into this team on a very short notice, I did not get sufficient time to build a relationship with him, although I have managed to do so with other teammates because the other teammates are more friendly and more available in the office.

I am not quite sure what the right approach is in such a situation.

Have you had to deal with a subordinate like this? How did you deal with it? What advice do you have for me?

Note: Criticism about John or suggestions to fire John is counterproductive and is against the spirit in which I wrote this question. John is very new to software industry. He is a bright kid and very talented. Of course, he has some ego. I was once a newbie to the industry too with my own ego and I was probably obnoxious then. But I have grown to become a more objective and less egoistic developer over 9 years. I am sure John would grow and become more matured with time. My question is focused on how to deal with this situation currently.

  • 4
    Who would be required to make the decision to fire John? – Philip Kendall May 3 '17 at 18:04
  • 7
    @LoneLearner Good technical work elsewhere should not override poor team work; this is a common mistake new leaders make. If you're not even prepared to consider firing John, you're not going to be able to change his behaviour. – Philip Kendall May 3 '17 at 18:14
  • 4
    You have a very fundamental problem here. A worker's personality is one thing in a social setting but their attitude in a professional setting is another. Sure he might be talented, but his ego is only going to inflate and it's going to cause headaches elsewhere and with other people. He doesn't match the culture plain and simple. Either let him go or accept that he is going to continue his behaviour. – smooth_smoothie May 3 '17 at 20:15
  • 4
    Next time he attacks Dave in front of others, call him on it. Stop your meeting and ask him to stop this habit of his. Peer pressure can be a good thing sometimes. Who knows he might improve or better yet leave. – Snowlockk May 4 '17 at 15:42
  • 7
    Something strikes me here - you say: "Dave often used to take decisions that are 180° opposite to a decision made by rest of the team, a decision based on which John was already working on stuff, and Dave used to go ahead and implement the opposite decision without consulting or telling anybody." I am wondering why you attack John when it looks as if Dave is playing the prima donna here (even if he may be nice and pleasant as person). Has this now changed? Frankly, if not, it is Dave, not John that needs to be called out (unless Dave's judgement is superior to everyone else). Please clarify. – Captain Emacs May 5 '17 at 5:34
10

Dealing with difficult people is part of being a lead. You need to develop your skills in this area. There are books and training courses that can help you work on this area. One thing to understand about being the lead is that it is not always possible to be a nice guy. People live up or down to expectations and by allowing bad behaviors, you are saying the expectation is that you don't need to work well together and that you don't need to follow direction and that you don't need to cooperate. A team can disintegrate very quickly when you allow this sort of thing to continue. The good guys don't want to work for you because they know you will tolerate the people who make life miserable.

The first thing you need is to set clear expectations. All of your team needs to know that certain behaviors will not be tolerated such as demeaning other team members, refusing to work with other people, failing to contribute, not meeting deadlines without at least letting you know beforehand what the blockers was, etc.

You need to sit down and think about exactly what things you need your team to do or not do in order to work effectively. Then you need to make sure your whole team knows what is the expectation. People tend to work up or down to expectations, when you set none, many people tend to work down more than up (except for a few, very self motivated people who will always try their best no matter what).

You need to do this at a meeting with the whole team. Juniors especially do not always know what is expected. They need to know what processes the team will follow. They need to know that you will listen to their concerns but that you are the final decision maker and that they have to accept that not all decisions are going to go the way each individual wants them to.

They need to know that you will have their back too, when things ago wrong. There is nothing worse than to work for than a person who will throw them under the bus to save themselves. Some of this you can't get across just through a meeting, your actions have to be consistent with the expectations you set.

In particular your actions concerning John have to show the others that their work environment is safe from bullies and that bad behavior will not be tolerated. You honestly have to fix John or get rid of him if you want the rest of the team to work well together.

The more you tolerate bad behavior, the worse it gets. John's behavior is bad, but so is yours in tolerating it.

Talk to John directly in private as his behavior is already well beyond what is acceptable. He needs to understand that working with people he dislikes is a requirement (as is working on projects he doesn't want to work on)and that he must be courteous to everyone no matter how he feels about that person. He needs to understand that no snide remarks, put downs, refusals, or insubordination will be tolerated. Period. Full stop. No excuses.

He needs to understand that the technical skills are irrelevant if he does not have teamwork skills. His future jobs, evaluations, promotions, and salary are all affected by his teamwork or lack thereof. Many junior people do not understand that technical skills are only a small part of what gets me rewards at work. This is something he needs to fix and he needs to fix it immediately. Really you are doing the guy a favor by intervening now even if it uncomfortable to do so. He needs to understand that soft skills become far more important if he wants to get out of entry level.

It needs to be crystal clear that his behavior has to change or his job is at risk. No hinting, be blunt about this. You cannot afford to tolerate a cancer in your team. You can point out that you are happy with his technical skills and that you will help him learn social skills and you want to be able to retain him, but he will have to change and change fairly quickly.

Personally I would go into this conversation with a training plan for fixing the problem. Find some courses in effective teamwork, find some books for him to read, etc. You don't want to fire the guy, but frankly you can't afford to retain him if he doesn't reform. As it stands, he is a cancer in your team. This will only get worse until no one respects your judgement or direction because they know you will allow bad behavior.

  • John, Dave and other junior engineers do not report to me. They report to my manager. Manager takes decisions such as appraisal, firing, hiring, assigning an engineer to a certain project. I am a tech lead whose primary responsibility is to provide technical guidance, take technical decisions, write code and perform engineering activities. Do you think it is still okay for me to tell John that his behaviour is unacceptable and this would put his job at risk? – Lone Learner May 4 '17 at 2:31
  • 5
    @LoneLearner I would have that discussion with the manager first, make sure he is on board so John doen't undermine your authority by going to the manager about your criticism. Use facts and explain that the current situation is not sustainable and present your solution, give the manager a possible solution not just a problem to deal with. – Charles Borg May 4 '17 at 5:42
  • There are books and training courses that can help you work on this area. - Do you have any book recommendations about this, or link to any other question which discusses books like these? – Lone Learner May 4 '17 at 17:16
12

Wait what?

Dave often used to take decisions that are 180° opposite to a decision made by rest of the team, a decision based on which John was already working on stuff, and Dave used to go ahead and implement the opposite decision without consulting or telling anybody. This meant waste of days or weeks of effort invested by John in his work. This has happened multiple times before I joined the team, as a result John has become fed up.

Why is there so much text in the question about John while it's practically glossing over Dave's behaviour?

It's Dave's behaviour that is a huge red flag for me. Sounds like he's wasting the company's time/money and frustrating at least one team member in the process. And I would bet a huge part of John's frustration comes from this not being addressed by management or the team, since it happend "often".

As a dev, I can easily understand that John is fed up with that situation. John is handling the issue in an inexperienced and less-than-ideal way - but his underlying frustration is justified. My guess is that to get John to really cooperate, you need to convince him that the underlying issue has been addressed and handled.

Here's what I would expect to happen, if I were a team member in your team:

  1. You take Dave aside for a one-on-one and try to get to the bottom of why he acted against the team's decisions several times - and by doing this wasted the company's resources and frustrated his colleagues. You tell him in no uncertain terms that This Must Not Happen Again Or There Will Be Consequences.

  2. You take John aside for a one-on-one and tell him that you have the impression that he dislikes working with Dave because Dave acted against team decisions in the past. You then tell him that you've addressed this with Dave so that it won't happen again. In case John sees it happening again, he should come to you and you will handle it. You also tell him that he is not to publicly have a go at Dave - Or There Will Be Consequences.

As for the rest (refusing to provide effort estimates and technical opinions when Dave is involved), I would assume that this gets better as soon as John is convinced that the Dave issue is resolved. From his perspective: how would he even realistically estimate the effort for a task if he's teamed up with somebody who will randomly increase the effort significantly without that ever being addressed? Why would he discuss a technical solution to a problem if he knows Dave will go ahead and do what he pleases, against decisions taken during the discussion? I bet to him that all feels like a farce.

  • 1
    That, and some people are very bad in making estimates. Especially when the tasks to estimate are not even shown. Better give them a plate full of tasks, and see the plate getting empty quicker than expected. – gazzz0x2z May 10 '17 at 14:42
  • 2
    @gazzz0x2z Everyone is bad at making estimates for tasks that are ill-defined (I take it you mean that by "not even shown") - unless they are clairvoyant, in which case they could probably make more money playing the lottery ;-) – AllTheKingsHorses May 10 '17 at 14:46
  • This! I had a very hard time figuring out who had the attitude problem based on what you wrote. This is a failure of communication between both of these individuals that needs to be worked out. The fact that Dave makes decisions that cost other people time and effort without at least informing people is a giant red flag, especially in IT. Dave may feel that he is above having to explain himself to John, but this is something that needs to be addressed very quickly. And John needs some coaching on appropriate workplace protocol, regardless of his feelings for Dave. – bhilgert May 11 '17 at 21:31
  • @AllTheKingsHorses You do understand I was agreeing with you....? You can't make assumptions like "obviously John as caught on to this" without discussing this with John himself. He may have assimilated into the negative culture or he may have acted in that manner since he joined the team. It sounds a bit like the later is the case, but this would be a talk with John separate from Dave. Regardless of Dave or the rest of the team, John still has a responsibility to act in a professional manner. – bhilgert May 12 '17 at 15:16
3

You can't just think of John's working relationship, you also have to consider the rest of the team's morale when working with John.

Here are some sure-fire red flags for me:

...[H]e bullies one the teammates in the meetings by pointing out problems in another person's, say Dave's, work and explicitly stating in front of everyone in a meeting room that he does not want to work with Dave.

Everyone's going to run into quirks or issues when working with another person. The fact that John decided to call these issues out in public is unprofessional and erodes morale outright.

There have been situations where John outright refused to work on a project assigned to him by Manager because Dave is working on the same project. The manager had to spend about 10 minutes trying to convince John and explain him the time constraints after which he reluctantly agreed.

Refusal to do work is a strong indicator of them not being a team player. In John's defense, this cuts both ways; Manager decided not to respect John's wishes not to be paired with Dave and so must accept the fallout; however, this should be seen as a major fissure within the project. John is apparently too valuable to be replaced in this project, or have someone else train up to help Dave out instead.

Some other members of the team think John is blunt. I mean, what I think of as "bullying" is seen as "blunt" and "honest" by others. ...Whether "blunt" or "bullying", everyone agrees that his behaviour is an exception in the team.

Not good. It's fine to have one person expressing a different opinion than others, but it's not fine when it starts to impact work. Which leads me to...

Dave has personally expressed it to me that he wants to avoid talking to John as much as possible but wants to get work done.

...which is probably the most damning assessment of John's behavior and demeanor. Even though Dave wants to get things done, the fact remains that they do not want to work with John, even if it's to the benefit of the company. From the earlier altercation with Manager, it sounds like the sentiment is mutual.

From what I see, none of your approaches are going to have the lasting effect you want them to. It's important as a team lead to have people willing to follow, and to set expectations of your team. That is to say, if you have these people on the team which disagree with each other, it is your responsibility to resolve any discrepancies with these two, as they impact the wider team. Even if that resolution results in either Dave or John working on different projects, that resolution must be done sooner rather than later. The longer you delay, the less morale your team will have.

Lastly, placing John with a different person in a different project would be a good exercise for him anyway. If he doesn't get along with this person, you or Manager will need to pull him aside and ask if he really wants to work there at all. Getting along with your coworkers is vital, and if you have someone that doesn't want to do that, then you're not going to be getting much real value out of them.

  • "even if it's to the benefit of the company". That's the core issue. Someone else decided it benefits the company while the two persons involved disagree. – John Hammond May 4 '17 at 20:32
  • @JohnHammond: Depending on what they both know and understand of business requirements, having them both work together on paper would seem like an ideal scenario. In practice this is less true, of course. – Makoto May 4 '17 at 22:33
3

Engineers, unless they are actually mentally ill, react fairly rationale. John and Dave didn't throw a die to determine if they get along or not.

For example, I was teamed up with an engineer for quite some time and working together just wasn't productive. The problem was not the technical skill or the social aspect, we got along very well outside meetings, spent lunch break together, rolled our eyes together about the "insane decisions from above". But basically whenever it came down to anything that could not be proven with facts but included estimations, assessments, evaluations etc. our opinions always differed and I really mean always and by differ I mean 180°, not 10°. And because it was never about technical facts, there was never really any closure.

This is a very frustrating situation. When I was asked for an assessment of the risk of a software upgrade and gave my assessment, it was guaranteed that there would be an objection that would say the complete opposite. Basically every meeting ended up with a confused product manager, a helpless project lead and two engineers who have their point of view and neither point can be proven wrong. This had a bigger negative effect than of one engineer just making a "wrong decision".

Interestingly, I don't even see John as the problem. You say that he stated in front of everyone that he does not want to work with Dave. But you didn't mention a reason. Did nobody ever ask why? Not even after the meeting?

Teams are productive when they gel. Some combinations of individual humans gel nearly instantly. Obviously, there must be also the opposite - teams that just don't gel and never really will. You cannot force either outcome, not even when you threaten to fire them - although this might be a solution, after all you increase your chance to get a better combination of humans.

EDIT:

Dave needs to accept that he has to either yield to team decisions or convince the team that his decision is the best. He can work on whatever he wants on his spare time, but at work he has to code what is decided and not what he prefers. This is the first talk you will have to have. He will likely start to debate that his actions were justified, but you should not let the conversation steer into a discussion about technical facts or best practices.

The second talk is the one with John, where you actually acknowledge that you understood (not necessarily share, but understood the reasoning) his motivations and resulting actions, but that these actions are not to be carried on. Then you need to convince John to try a fresh start and also propose a path that John can take despite frustated yielding when conflicts arise - which likely involves discussing issues with you as technical lead.

  • 1
    Yes, John did mention a reason. The reason was that Dave often used to take decisions that are 180° opposite to a decision made by rest of the team, a decision based on which John was already working on stuff, and Dave used to go ahead and implement the opposite decision without consulting or telling anybody. This meant waste of days or weeks of effort invested by John in his work. This has happened multiple times before I joined the team, as a result John has become fed up. – Lone Learner May 5 '17 at 2:06
  • Thanks for the confirmation of my assessment of what is really going on. No idea why I get downvotes for this, but that's SE. – John Hammond May 5 '17 at 7:13
  • Now that there is more context behind the problem (I have added this context to my question too), would you consider revising your answer, or adding an update to your answer to describe how a situation like this can be best handled. I am a newbie in dealing with social problems as a tech lead. My previous 9 years have been spent solving technical problems and leading a team with technical advice and processes. So my social leadership skills are poor and I am trying to improve them. +1-ed you by the way. – Lone Learner May 5 '17 at 7:21
  • Sure, I will update it but have to postpone this for a few hours. – John Hammond May 5 '17 at 7:24
  • @LoneLearner Basically, if Dave does not stick to decisions of the team, but you are happy with him taking the initiative on changing them, then let him formally do that and inform John that this is the decision taken. What would not be acceptable is making a decision, letting people work, only to find out that one person regularly veers off on their route and the others now have to completely rework their stuff to fit this detour. This is undermining the authority of the lead, of the group decision and the reliability of the environment in which one works. – Captain Emacs May 5 '17 at 18:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.