Lessons learned managing my most challenging engineer
Fun journey managing my most challenging engineer, and what you can learn from it?
Most of my training to become an effective engineering manager came from experience. A few years back, I was lucky enough to manage an engineer, who was significantly harder to work with compared to the rest. “Lucky? wasn’t it a nightmare?” you may ask. Yes, indeed. It was difficult for a few months, but looking back I learned way more from this experience compared to years of managing great engineers. In this series, we analyze why this engineer was particularly difficult, and how to navigate similar difficult team members in your career as a tech lead or engineering manager.
For our discussion, let’s call this engineer Alex. A disclaimer before we start. The name and gender of this engineer are anonymized, and any similarity with real people is purely coincidental. So what made Alex difficult? Alex had a unique combination of poor technical skills, exceptional communication skills, and high ego. His ego prevented Alex from admitting his shortcomings and learning from them. Instead, he tried hard to cover his shortcomings by being dishonest about the work done, passively pointing fingers at others in the team for missing deadlines, and presenting whatever little work he did in a very convincing manner both to the team and the leadership.
Honesty, a critical skill at work?
Honesty is a skill we often take for granted. Before meeting Alex, it would not have surfaced in my top three list of most desired skills for my team members. However, Alex taught me otherwise. Even with a single dishonest member in the team, the team culture degrades quickly slowing everyone down.
“How is the bug fix going?” I asked curiously in one of my 1:1s with Alex. “Everything is going great, I found the root cause, implemented a fix, and will be sending the change for review soon” he replied enthusiastically. I was pleasantly delighted and also a bit skeptical since I expected the bug to take at least a week to fix. “How did you reproduce the issue?” I probed curiously. I soon realized that Alex’s answers contradicted themselves, and it became clear that Alex did not even look at the issue. The final nail in the coffin was when I asked “Can I see your code change?”. Alex looked visibly shaken and rambled a bunch of excuses about how his git branch got accidentally deleted.
“To err is human”, and we all make our share of mistakes, learn from them and move on. However, with Alex, this was not an isolated incident. The more I worked with Alex, the more it became clear that honesty was not one of his skills. He lied and got caught red-handed on a bunch of issues like past background, conflicts with team members, and so on.
Top lessons learned
Honesty (or lack of it) ended up being just one of the many problems Alex had, but those are for another post. Managing Alex for the next year challenged my assumptions, clarified my vision, and made me a better engineering manager. Below are the top lessons I learned while managing and improving the honesty issues of Alex.
Enjoy the ride - When you face a setback at work or in life, it is easy to lose heart or point fingers at others. But setbacks teach us a lot more in life than successes. So never lose heart, and take up the challenge ahead with optimism.
Understand the root cause - While lying and not getting work done were the symptoms I observed in Alex, the root cause was entirely different. A good manager has to be a detective who can reverse engineer the system and understand the root cause. In the case of Alex, it turned out to be the poor technical skillset and the high ego that was causing him to cover it up. Understanding this early helps to solve the underlying issue, instead of patching the symptoms.
Give clear feedback early and track progress - Once I root caused the issue, I set up a 1:1 with Alex to discuss my concerns on honesty, and what my expectations are. Always share this feedback in a private meeting, and not in a public setting as our aim is to provide constructive feedback to help the engineer grow, and not to embarrass them in public. Track how the engineer is addressing the issue in a document, and review it often with them. I did the same with Alex and saw that his dishonest responses did come down in a few months, though they remained non-zero.
Learn from the experience - Ask yourself what mistakes you made in the process, and how to learn from them. If an engineer in your team has poor technical skills, that often points to a problem in hiring. How can the hiring process be improved to improve the technical skills of the engineers hired? If a team member has soft skills that do not align with your team culture, how can you evaluate culture better during hiring? How can you create strong role models in the team, who can influence junior engineers like Alex, and make them better? I asked a lot of similar questions and learned a lot by answering them.
If you are a people manager, how differently will you mentor Alex? Who was your most difficult engineer and what did you learn from them? I look forward to hearing from you, and connecting in future posts!!