|
I know this is going to be an unpopular opinion, but you’re failing your team. Code that doesn’t work is an obvious problem; there needs to be a culture of reviewing your own work before it goes out for review. You also need to be more patient: I’m sure you write bugs, too. But if _everyone but you_ isn’t comfortable working in a system, I don’t think that’s a problem with with those people, I think it’s a problem with that system. It’s easy to get frustrated and say “eh, these people suck, let’s find new ones,“ but just like how it’s your job to solve the hard engineering problems, it’s also your job to get over it and find a way to actually work with these people. If it _actually_ takes a week of back and forth for PRs to get merged, that means that there’s a massive problem with your review process. I’m going to guess that most of the time, this means that your comments are indirect, or worse. It’s your job to enable your colleagues to work faster, and if you don’t like that, you probably shouldn’t be a leader. |
You can't fix people who cannot learn because of their belief that they already know everything. They will take anything personally that goes in the way of their ego.
For examle, take a react web developer - that only knows React, who think that the React way is the only way, read some blogs written by a junior programmer - and take it as a truth.
2015 : Class components is the React way 2016 : Functional component is the React way - don't use context 2017 : Use Context - that's the React way 2018 : Write CSS in Javascript ... and the list goes on.
Now, good luck explaining to that dev that he basically doesn't knows how to think by himself, and because he thinks that he already knows EVERYTHING - he won't listen - or even learn by his own critical and common sense judgment.
Those type of developers are very toxic, they are VERY vocal about how exceptional they think they are, and they will discard the opinion of anyone better than them - just because it doesn't fit their opinion of themself.
They will stay mediocre - no matter what.
Drop The team, fire everyone, and instead of replacing them with same crap, hire a 5x dev.
So let's say you have 5 crap shit toxic dev, producing spaguetti technical debt - paid 100k/year.
Fire them all, and hire 2 real senior devs at 250k$/y each. And Rewrite the whole stack. It will be faster on the long term.
Also, there is nothing worse for a good dev to work with existing shit code - spend 3 months trying to refactor the code - introduce regression bugs while doing it - and deal with poor technical choices - while at the same time they could rewrite the whole project in a more elegant and stable way in the same amount of time.