Context: This is a software development team within a small e-commerce company. I am acting team lead whilst the current team lead is handing over to me and preparing for retirement. I have been in the team for nearly a year.
Within my team at work there has become an issue with colleague cohesion. There seems to be such a jostling for position amongst the junior to mid level developers that I feel it is starting to harm team moral.
Some examples, should a team member be off sick, the following days or weeks I notice a couple of team members like to keep pointing it out unnecessarily.
"Oh so yeah I fixed that bug when Bob was off sick last week"
"Well I couldn't get much done yesterday as Bob was sick so I had to cover support"
If feels as though, contextually, that they are subconsciously trying to push Bob down the pecking order by regularly bring it up that he was off. This happens with other team members also.
In addition to this, there is a moderate competitive edge to getting work done which spills over into blaming when team members will be working on the same feature. There is often talk about "beating" others when it comes to getting work done, and often in their rush to do things there becomes a reduction in quality and introduction of bugs.
This culminates in some team members becoming profoundly disheartened or defeated when another team member comes up with a better idea or solution to an issue.
I feel that this one-upmanship within the team is causing a lot of issues, including design/style arguments in meetings and code reviews, and the aforementioned sulky responses from team members when others' solutions or ideas are selected and the priority of speed sacrificing quality. The main feeling I want to achieve is that we are a team and working together, not against each other.
How can I encourage my team to relax and quit the competition and blame culture? Or am I looking at this from the wrong perspective?