Taro Logo
2

How to lead when working with unreliable/incompetent engineers?

Profile picture
Anonymous User at Taro Communitya year ago

I'm an E5 iOS engineer at a Big Tech company. I'm struggling to understand what leadership means. A Director told me Leadership means making sure the project is successful no matter what happens. As a result, I often end up doing other people's jobs for them (e.g., when a backend engineer struggles to get their piece working, I often hand-held them and have even created backend PRs to unblock some projects even though I'm an iOS engineer). However, a mentor told me that E6's don't do the work themselves but delegate it to others to scale themselves. If this is true, then what does an E6 do when working with engineers who are either unwilling or unable to complete their deliverables in the expected timeframe and quality? This becomes even more challenging when working cross-functionally with engineers who are not on my team. Also, how do you lead when you're not the DRI (Directly Responsible Individual) / tech lead for a project (e.g., when the tech lead is an E6 on another team, but is not setting up the team for success by refusing to communicate requirements clearly)?

188
3

Discussion

(3 comments)
  • 2
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    a year ago

    First I recommend going through this discussion around how to deal with low-performing teammates (this one's specifically about code quality), also from a senior engineer striving to be a strong tech lead (they're at Meta).

    I have a lot of thoughts here, so I'll split up my response into multiple parts:

    1. Uplifting
    2. Escalation
    3. The Meaning Of Leadership

    Uplifting

  • 2
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    a year ago

    Escalation

    • This is what you'll have to really do if the "Uplifting" path doesn't work. In a nutshell, this means giving honest feedback to leadership (i.e. your manager, the other engineer's manager, and maybe a skip) about these low-performers.
    • Regardless of whether you're able to uplift these engineers, you should definitely let your manager know that some stakeholders aren't pulling their weight. Show as many examples as possible to back up your case (like having to put out back-end PRs).
    • It may be scary to do this as it feels like "throwing people under the bus". But if it's been several weeks and you've made every possible effort to be flexible, kind, and uplifting as mentioned before, something has to give. You shouldn't suffer in silence and solo-carry a project to offset low-performers.
  • 2
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    a year ago

    The Meaning Of Leadership

    A Director told me Leadership means making sure the project is successful no matter what happens.

    This is more or less correct. This is what I have been told many times across Meta and Robinhood working on senior and staff scope.

    What separates the decent engineers from the incredible engineers is their ability to come up with more graceful solutions than "Fine, I'll do it all myself", which I'll cover more later.

    If this is true, then what does an E6 do when working with engineers who are either unwilling or unable to complete their deliverables in the expected timeframe and quality?

    1. Uplift the low-performers as covered before
    2. Find a mentor to do #1 for you - As I was growing to E6, I got to this point. I would have my mentees mentor other engineers on the team, allowing me to mentor engineers on how to mentor other engineers. More scope for me!
    3. Escalate to managers, which can produce the following results (alongside others):
      1. The feedback finally lands and the low-performers improve
      2. They find other resources (i.e. bring in other engineers) to offset the gap
      3. They reduce scope on the project so the low-performers' contribution isn't as needed

    Of course, it's possible that all of the above fail, and you need to do it yourself. But what's important is that you tried the more sophisticated solutions first.

    Also, how do you lead when you're not the DRI (Directly Responsible Individual) / tech lead for a project (e.g., when the tech lead is an E6 on another team, but is not setting up the team for success by refusing to communicate requirements clearly)?

    I recommend this discussion on how to improve a less-than-friendly relationship with a core XFN partner.