Taro Logo
2

I'm having trouble getting code quality feedback to land with an engineer I'm leading - What can I do here?

Profile picture
Senior Engineer [E5] at Meta2 years ago

As an E5, I'm switching to more of a tech lead role, and one of the engineers I'm leading has had consistently poor code quality despite being at Meta for a few years now.

I've asked my manager for feedback about this, and they say that we should come up with a plan to improve the situation. I've already invested time in this, and I'm not seeing results. How can I get the code quality feedback to fully land and improve this engineer's code?

121
1

Discussion

(1 comment)
  • 2
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago
    • Show the impact! Can you connect the poor quality to more concrete effects like bugs or even straight up SEVs? If so, that should be more than enough to seriously escalate the issue and its urgency. If not, then you can get more subjective impact, mainly feedback from other engineers. If other senior+ engineers say the code is bad and having negative effects on the codebase's readability/scalability, then that's a strong case too. Try to find a diff review that has feedback like this. Or start the discussion yourself on a diff review to get this feedback.
    • Time-box the exercise. Meta is all about efficiency, so everything you do essentially should be time-boxed. Set a goal of a few months max to start producing a change here, and if the goal isn't hit, have a clear set of steps on how to escalate (e.g. a meeting with the manager/skip to seriously talk about this). If you don't time-box this, the problem will just keep going and going as there's no urgency.
    • Remember that you have a very clear forcing function: Request changes. If you really believe the code is bad, hold the line and don't let it land. cc other engineers on your team and in your org who also care about code quality to back you up. Try to build bridges where you can. Instead of just saying the code is bad and requesting changes, suggest changes if possible (so they can just accept) or some of your time to pair program with them to fully explain how you think the code can be seriously improved.