I manage a team of 5 developers, a QA and a BA. Over the last two years the team has transformed from an attitude of cowboys in silos to a communicative, collaborative group.
In particular the devs solve coding problems and come up with effective design patterns and solutions together. They discuss options, new ideas, research and investigate and decide on the best approach to take. If one dev is feeling strongly about an idea they'll prove it out and demonstrate why it's good. It's obvious how much we've evolved and how much more effectively we work and the team talks about it frequently.
We recently added a 6th (Sr) and 7th (Jr) dev. Both are very capable coders. But one (the Sr) is turning out to be in the silo category. He has walls up all the time. He tries to solve problems on his own for hours and only comes up for air or relents when asked by me or someone else. Despite my best efforts to get him to discuss his plan with the team before commencing he continues to check in new code that implements or duplicates design patterns that already exist elsewhere. He plows through and creates PRs which then needs to be revised or completely refactored due to duplication. A lot of his code is excellent and he is obviously a talented coder but the amount of refactoring and additional effort it's causing is getting exhausting.
He recently caused an issue that had a downstream effect on two other dev teams and had a dozen people up until 4am last night trying to resolve. The issue could have been easily avoided if he had asked some questions instead of approaching the issue with the smallest degree of humility and asking someone else for support. I'm sure he's not feeling good about the snafu he caused yesterday. He is well aware of his error.
We are all working remote rn so that might be having have some affect but I get a sense that even in an office environment this would play out in a similar fashion.
Things I've tried:
- 1:1 check ins where I re-iterate that he should discuss his approach first and mention that he is not visible in the discourse. He understands this and says that he'll ask questions. He hasn't.
- git commit comments where I've ask him to discuss new patterns with the team before adding. He responded that he had a feeling that his pattern was going to cause a discussion and he felt it could happen in the git comments. I reminded him that it's better to discuss first before implementing. measure twice. cut once.
- To get my two senior devs to check in frequently and ask if he is stuck or has questions.
- re-iterating always for people to ask questions in our Teams chat before implementing a solution.
If anyone has any thoughts on how to motivate someone to discuss anything / everything and engage with already collaborative and supportive team then I'm all ears.