As part of this, I have to oversee a new team where I am being confounded by a problem I havent handled before.
I have a very senior engineer on the team who
* Refuses to write tests (says things like the cyclomatic complexity of my code is low so I dont need unit tests)
* Refuses to use modern tools and practices (Example: Handwrites every single SQL query, refuses to even explore an ORM)
* Refuses to help me or other engineers in other related code bases or service (He keeps pointing to bugs and issues, but seldom takes up a refactor or a fix)
* Sticks to his own conventions even though a lot of the team does not agree with him ( Example: He refuses to follow rest patterns for apis, will not let us introduce api versioning amongst other things)
* Insists on bringing 100% clarity before starting execution (Example: any minor change in requirements and he insists on going back to the start)
Now the thing is he is one of the earliest engineers in the org and he is leading a team that has to deliver a very critical project.
This project is already 6 months late, and I am still seeing us going in circles.
If you dont agree with him on a technical issue, he would agree and then some how the work will slow down to a crawl till we dont revisit the original decision.
I am sure that there is his side of the story as well.
But by God I am clueless
How should I handle this ?
I have been on both sides. Be clear. Make the call. Take the action. Don't look back.