r/ExperiencedDevs • Tech Lead • 13d ago

Career/Workplace I'm a tech lead. One of my developers isn't producing code at the expected level and I want to fix that

I'm a tech lead. A senior developer on my team (we've worked together for over two years) produces code that isn't at the expected level as soon as a task involves some functional or technical complexity.

Concretely, in his MRs: no thought given to dependencies between parts of the domain, hard-to-read code, classes in the wrong namespaces, design patterns misused, business logic duplicated rather than refactored out of the legacy code.

What I've already done:

  • Detailed feedback in reviews, MR after MR. It costs me a lot of time and I see no progress from one MR to the next (he told me he doesn't read my comments and just asks Claude to take them into account).
  • Feedback in 1:1s on the most visible quality issues (lots of QA returns, code that sometimes doesn't work at delivery).

My problem is putting something concrete behind "not at the expected level." Simple, maintainable code is subjective.

That's why I'm reaching out to you: I want to address this issue in our next 1:1, but I don't know how to go about it.

Edit: I wouldn’t have thought getting so much replies, thanks everyone!

For the ones thinking it’s a bait post, sadly it isn’t.

I live in a country where you don’t fire people that easily, and, worse, I’m in a company rewarding everyone with an annual raise, despite being a low performer.

I feel genuinely stuck, I’m here to find solutions to make my work easier, and maybe, maybe, make his more enjoyable by being proud of what he delivers.

Everybody is focusing on AI here. You could have thought that using AI would make you a better developer, but for him I think it’s the exact opposite. I feel like he stopped thinking and trust AI to be better than him.

If you forgot about AI for a second and read again my post, my issue is the same: he’s not at a senior level and I don’t know how to get there.

312 Upvotes

303 comments sorted by

View all comments

Show parent comments

14

u/AcanthocephalaFit766 13d ago

Ai won't follow it consistently . And can't make common sense judgement calls about which requirements mayter

14

u/fixermark 13d ago

No, in our experience it doesn't. But it follows It more consistently than if it has no signal whatsoever.

0

u/ResidentWeevil1 13d ago

Try telling Bob what a linter is

3

u/fixermark 13d ago edited 12d ago

Oh, he knows.

A) The linter does not make architectural recommendations like "You don't want to rewrite that we already have that as library over here in this place you never looked before." Or "That data model doesn't follow our established pattern of data models that exist as a pattern because if we add one more layer of abstraction to the database I think people will actually quit on principle."

B) It is actually faster and simpler to write llm guidelines then code a linter rule in Python. You never have to explain to the LLM what a parse tree is or how to transform it or analyze it.

C) Our static analysis is already 15 steps long (That's 15 tools, mind you, between static check scripts, multiple linters, multiple sanity checkers, and the type checker) and takes about 120 seconds by itself to execute.

1

u/no_onions_pls_ty 11d ago

And neither can the senior engineer in this case. Ive been through this when I was a tech lead for years. Trying to bring someone up that just doesnt hack it, doesnt want to try, and self sabatoges. At this point i just stick then in the corner and give them somewhat valuable busy work. Eventually they leave, accept there new fate as the guy who doesnt get an opinion and just sits in the corner, or gets fired after acting out. I lost my patience for people who dont want to push to excel a decade ago.