The days of tech teams hiring ‘ninja,’ ‘rockstar,’ or ‘unicorn’ developers is done. If you are still seeking these people, stop what you are doing immediately.
What is a ninja?
To me, ninja, rockstar, or unicorn developers (which I’ll lump together as ninja for the rest of this blog) are defined as “someone who is outstandingly amazing in code, but doesn’t play well with others.” This is someone for whom the rules of the team don’t apply because “they are just so good they are allowed to do whatever they want.”
It is true there are people who are amazing developers and also play well with others. We should all aim to hire these people.
Ninjas are toxic
I believe even one single ninja can be toxic to the entire team. If the ninja doesn’t respect the social norm of the group, the rest of the group will follow; I’ve seen this happen with my own eyes.
A team I knew had a ninja on it. This person was brilliant inside the code. This person also liked to work from home so they didn’t come into the office on Tuesdays,and as a result they missed standup every Tuesday.They also missed retrospectives (which were held on Tuesdays).
Pretty soon, they were pulling random features from the team’s backlog instead of working on what the team had agreed were the highest priorities. Then another developer on the team got mad. “Hey, if this person can work from home and work on whatever they want, so can I.” And so the second developer started working from home and working on features they felt like working on.
And so it began. No one attended standup, no one came into the office, and everyone worked on what they personally believed was important. The team fell apart, communication was poor, deadlines were missed, and features were half built and abandoned.
You see my point.
What to do if you have a ninja on your team
If you have a ninja on your team, my recommendation is to have a conversation with that individual:
Should ninjas be fired?
I’d advocate for firing any individual that negatively impacts the team. Team productivity is the number one priority for a software team, not individual productivity. I don’t care how fast someone can write code; if they are negatively impacting team productivity, they do not belong on that team.
I know I’m drawing a line in the sand here and I stand by it. I also know what I’m advocating for is hard to do, and often the person who wants to do the firing doesn’t have the authority to do so.
If you have a ninja on your team and need help identifying how to deal with this person, email me and we’ll talk through it.
How to avoid hiring Ninjas
This is the most important question and it must be answered. Hiring is how you bring new individuals into your team. Hiring is how you build upon your culture for the future. So, avoid hiring ninjas by:
1. Make Core Values “Table Stakes”