Hire A-players. Take the time to find truly gifted developers. You will get 100 times better software and better code compared to an average developer.
They will love to work with each other, and your team will become self-policing: they won’t allow but A-players to join them.
Even in remote teams, Steve Jobs wasn’t wrong about this. What I think you should consider, too, is that you still need to hire a Steve Jobs type of manager to lead them.
There are some distinctive characteristics a great manager has:
- They can take a demotivated team coding tech debt and turn it into a world-class team.
- They can make releases enjoyable instead of catastrophes.
- In the face of a crisis, they will remain calm.
- They outperform everyone: they will work harder than anyone else.
- They can turn B or C players into A players.
- They will present business needs as tech challenges that engineers will see as opportunities to grow.
I’ve also seen examples of bad managers as well:
- They avoid getting their hands dirty.
- They rely entirely on a “right hand,” which will give them a biased picture of what’s going on.
- They will treat individuals based on stereotypes instead of taking the time to get to know each engineer.
- They are inflexible, even if that means blocking someone to move forward.
- They will get angry, under pressure, and mad at people who can’t understand what they want or don’t do things as they wish.
By all means, hire A-players; it will change your engineering team. However, also make sure they have the right leader. No matter how good they are, they won’t give you their best work if they don’t trust your engineering manager.