How to deal with a new dev that knows it all?
Bob, a senior developer, has just joined the team.
He does not respect any of the standards previously set up by the team. At code reviews, he marks threads as resolved, although he hasn't solved the issue. He pulls the whole project in a different direction than the rest of the team.
How to deal with Bob?
The strategy that I would use
First off, use automatic tools whenever possible to reject or correct what can be done automatically.
You don't approve his merge request until the issue is solved.
One way or another.
The next thing is to acknowledge that maybe, just maybe, Bob really knows better and can bring new insights. You've hired a senior developer for his skills, try to tap into those skills!
Then you put his suggestions to a team vote. Supposedly, the team now is not the same as the team years ago, so maybe the current team thinks the same as Bob.
You, as a team lead, set only one ground rule: at no point in time is the code allowed to follow different coding styles. If the code base is huge, you can refine that per component.
For the vote, there are no discussions. Bob can write down his case, and team mates get 1-3 hours to vote, yes or no.
Document this decision.
- Bob wins, and a new user story is created to refactor the code. This story will be prioritized just like all other user stories, by the product owner. No, the current code will not be refactored ad hoc as Bob wishes. Bob needs to become a friend of the backlog.
- Bob loses, and the decision stays documented. There is no more discussion about this.
- Bob might choose to adapt, to quit, or to derail your team in the future. If he goes havoc, you fire him.