Overengineering code - how to tell engineer to be more efficient?

Apr 14 51 Comments

I have this engineer who massively over-engineers everything he’s assigned to.

Something his boss estimated for 1 hour could take him 3 days. He’s very sharp very experienced (15+ yoe), but he codes a 3-br townhouse when his boss asks for a cat litter box.

He doesn’t report directly to me but I manage their project. I’m going to have a 1:1 with him and informally micromanage his productivity daily.

Any advice for me?

For context, both his director and his VP (both used to code) have told him that he needs to cut to the chase and start closing tickets. But he talks back to them and is slow to show change. I’m a mere project manager.

comments

Want to comment? LOG IN or SIGN UP
TOP 51 Comments
  • Amazon oksureamz
    If a PM tried to do daily 1:1’s to micromanage me, I’d tell him where he can shove it. If you got a problem with him, have a honest dialogue with him. If that doesn’t change anything, go to his boss. It’s not your place to micromanage him.
    Apr 14 9
    • OP
      Thanks Lloyd! I just did. His manager is gonna fire him for sure. His boss would rather crank things out on a weekend than having to deal with him.

      I want to take this as a learning opportunity. I’ll take a stab at pip, but question if there are faster ways to influence him.
      Apr 14
    • Goldman Sachs not_Lloyd
      yeah, just be careful. pip signals to people they will most likely be fired within 90 days. might want to run it by a higher up to be sure it’s cool.

      i’ve seen people meltdown halfway through.
      Apr 14
    • OP
      Gotcha, so it’s that kind of a plan. Our project ends in less than 90 day...
      Apr 14
    • Goldman Sachs not_Lloyd
      👨🏻‍💻that was easy
      Apr 14
    • Amazon oksureamz
      All I’m saying is that it’s not your role to manage his productivity or give him a PIP. If the manager is asking you to do either of those, then that’s a shit manager. Do I report to you on the org chart? No? Then get off my back.
      Apr 15
  • Goldman Sachs not_Lloyd
    kiss
    mvp
    agile
    you’re fired

    one of those should help
    Apr 14 3
    • OP
      Is kiss an acronym for something?
      Apr 15
    • Salesforce sk8er
      Keep It Simple and Stupid
      Apr 15
    • OP
      Love it
      Apr 15
  • New NcEf26
    Probably he derives a lot of joy out of over engineering. Slapping code together day in and out turns a job into a total grind, especially if the low quality was mandated by the business. I quickly leave jobs that start micromanaging me
    Apr 14 14
    • OP
      I’m a genius 🤓😆👏🏽
      Apr 14
    • Amazon LoanerBadg
      What does delivering x number of tickets a week mean? Are these customer cut tickets?
      Apr 15
    • Oath xxxcd
      Doesn’t that just reveals you’ve been speaking bad of him? I think he’ll be offended.
      Apr 15
    • OP
      His direct manager had given him the pow wow. I don’t want to offend anyone, but his personal happiness is already low.

      I just want to find ways to turn this around.
      Apr 15
    • Uber IamDara
      You sound like a first time PM not gonna lie
      Apr 15
  • Comcast ichiban
    Careful how you deal with this. Consider the possibility that he is right, and that management may side with him.

    If he quits this morning, he will have interviews lined up by Friday, and maybe an offer or two next week. You, a project manager? Not so hot commodity.
    Apr 15 7
    • Goldman Sachs not_Lloyd
      solid point, didn’t consider how new JUUL was to the game.
      Apr 15
    • OP
      I like how some engineers think they’re untouchable gods. 👍🏼

      I agree he may find a job much quicker than I. In my case his manager came to me for help.

      So, Comcast, if it were you, how would you allow a lowly project manager support you?
      Apr 15
    • Goldman Sachs not_Lloyd
      yea, who would be more fun at a cocktail party?
      Apr 15
    • Intel Who.Dis
      ^The guy that doesn’t follow you the entire time
      Apr 15
    • Comcast ichiban
      I was just playing the devil’s advocate bc most replies were from people passing a judgement without knowing your engineering culture. This is why good places have scrum, code reviews, tech leads between sr engineers and management. Are you assigning him too many tickets? If I were responsible for pushing a LOT of features, which I was also expected to maintain, I’d spend time to make sure they didn’t break as well. Also code doesn’t exist in vacuum. So if this guy’s work depends on components which aren’t fault tolerant, he will code defensively. Sorry I cannot help more, and didn’t mean to belittle you :( “influence without authority” is a tough job, specially when the people you are supposed to influence have more power than you. Good luck!
      Apr 15
  • Microsoft lMQO62
    It doesn’t sound like you understand engineering very well. Spending more time with him will exasperate the problem. Micromanaging will make it worse.

    Making it worse might be a good thing if you want him fired. Otherwise if you want him to change, this will not work.
    Apr 14 3
    • OP
      I hear you. I don’t want to fire him, I want him to simplify his code and close more tickets so we don’t delay project demo.

      When he’s given the freedom, he codes only the way he wants and “trolls on slack” (borrowing the words from his director). Which is why I want to check-in more frequently.

      So if I do have to checkin daily, do you have suggestions for me? What can you (assuming an engineer) benefit from a daily checkin? What can I give you instead?
      Apr 14
    • Microsoft lMQO62
      Unfortunately a daily check in will not help tasks close out, and there’s nothing you can offer during a daily check in that will change this. Him not doing his job well is absolutely not due to a lack of accountability, but instead much deeper problems.

      So my advise to you would be to define what you want out of your interactions with him, and assume he will not change his behavior in a meaningful way.

      Be very honest with him, and say you’ve been tasked to check in frequently. Record which tasks he finishes promptly, and which ones don’t. Record any reasons for delays, as he reports the reasons to you. Then you can present this information to your boss and let them handle the situation from there. You’re basically acting as the delegate to start documenting his demise.

      If he cares about his job he will start closing out tickets faster, and it will be on his own terms. If you try too hard to micro-manage, boss him around, or pressure him to do what you want, you’ll very likely get less tickets than before. He will simply see you as “yet another idiot trying to boss me around”. If he doesn’t listen to his boss, then why would he listen to you?

      Maybe you have heard of “herding cats” before? If you want to change a cat’s behavior you have to manipulate their environment and let them adjust on their own (and they will since cats are domesticated). But with engineers, if they still refuse to adjust then it becomes banhammer time (fire them).

      P.S. Over-engineering is a sign of incompetence, and *not* sharpness. Maybe he’s smart, but obviously he’s not wise and definitely not competent.
      Apr 15
    • OP
      Thank you, Microsoft. Really appreciate your long and thoughtful reply.

      I’m preparing my chat with him. You’re right that open and honest dialogue is in order. And I def see this as a learning opportunity.

      Other than trying to understand what his “currencies” are, I also want to tell him that he needs to start acting as a responsible partner in the team. We have one architect, 2 managers (hw and sw) and a handful of engineers. Everyone has their duties and we need to work as a team like adults.
      Apr 15
  • Oath xxxcd
    Huh. Are you reviewing his code? Is there a code review process? Does the reviewers agrees that it’s over-engineered?
    Apr 14 3
    • OP
      I’m not a coder at all. His director reviews his code and have repeatedly told him to rewrite in very specific simple ways. But he talks back to him and just won’t change behavior. His director wanted to code on the a weekend just so he didn’t need to deal with him.

      I hate being micromanaged too. But I need a quick method to get him to change.
      Apr 14
    • Oath xxxcd
      It doesn’t sounds like it’s your problem to deal with 🤷‍♂️ You already took it to his director, and his director chose to deal it this way.
      Apr 14
    • OP
      His director took it to me. Because I have a good reputation.
      Apr 14
  • Amazon LoanerBadg
    A daily check on will only annoy an engineer. Would you do this to a doctor? Would you as someone who has no clue on being a doctor's try to micromanage a doctor claiming he's not closing enough patients?
    Apr 15 1
    • OP
      But even doctors need to meet quotas.
      Apr 15
  • Uber opi
    OP, your yoe? This guy sounds not sharp at all. I'd be worried if he's not fired or piped.
    Apr 14 1
    • OP
      I’ve managed projects for 3 years but only 6mo on this engineer project manager role. Used to serve clients.

      I’ve been managed so I understand how to find people’s “currencies” and sell opportunities and trade apples for oranges. But my tricks don’t seem to work on this engineer! They don’t want promotions 🙃 they just want to code.
      Apr 14
  • Daimler
    noDoubt

    Daimler

    BIO
    It's not personal. It's just business and I am a businessman man.
    noDoubtmore
    Be specific with him with not just with the WHAT but also the HOW. Pair him up with someone for a week. Provide training. Do checkins and mini reviews. If all else fails fire him, it’s just not a good fit. The well-being of the team comes before that of the individual.
    Apr 15 0
  • Salesforce sk8er
    The engineer sounds like a great fit for Salesforce. Salesforce build things like he does almost for everything. It takes 2~3 weeks to create a new table. We ship 3 major releases per year.
    Apr 15 0