A lot of the time, I am involved in putting teams together and getting them to mesh.
Sometimes, I am given the raw materials and have to make the most of what is given to me.
Other times, I get to pick and choose and use excuses like "we need the best combination to deliver what the client wants."
Often when we hire developers, we look for technical skills and client facing skills and design skills. This is all well and good as long as we also look for collaboration skills.
The environment that I play in is full of superstars who really do know their stuff. The thing is that when I'm choosing a team that knows my stuff, I want one thing in particular. You have to know how to collaborate.
A developer can know an API front to back.
A developer can talk about the intricacies of their technology stack.
A developer can describe everything they have ever built and impress you.
However, I want someone who can work with others.
I am not fussed if they are a member of Mensa or can recite 6 digit primes by heart. That doesn't make a useful developer.
What is most important is that you can work with others. You must be able to say what you have done. You must be able to describe your intentions. You must be able to write code that doesn't identify itself as yours but instead mold with the team.
Yes, there are so many average devs but a good dev who can communicate and collaborate will wipe the floor with them.
Be a good team player.
A superstar is worth nothing alone.