Don't fear the mediocre worker, fear the toxic worker.
Don't fear the mediocre worker, fear the toxic worker.
You think you need them because they do X, Y, and Z beautifully, but in reality they're destroying morale and tanking everybody else's ability to do A-W.
It's very, very easy in this situation to try to put a band-aid on things and hunker down, try to encourage the other folks to just give the toxic person a little more space. But it never works, and the longer you drag it out the more the A-team folks who aren't toxic will jump ship.
I'm very close to believing that you'd be better off with hiring smart people right off the street who have never worked in IT -- but get along great and truly care and help each other out -- than you would trying to screen out folks who know algorithms and/or data structures and then filter a second time for not being a douchebag.
I have seen a lot of average ability teams who had social skills kick ass. I've never seen a team with tremendously smart people without them do so. In fact, I continue to be amazed at the brilliant people I meet sometime whom I wouldn't want bagging groceries for me, much less creating an web application.
ADD: If anybody's interested in running an experiment where we create teams basically out of thin air, hit me up. I've been kicking around some ideas in this space for a couple of years or so.
Also there's an interesting relationship between the people, the team, and the company. As it turns out, all are important equally, just in different ways. You really need a pre-existing company to do this.
Finally, I don't care what anybody tells you, work in this area is experimental. Everybody and their brother has a pet theory and most of it is based on limited/non-existent sample sizes or the conflating a plethora of data with an abundance of understanding. If people were robots, we'd just hire robots.
I was not meaning you should start a "normal" project services company - more that most such companies just grab semi-random contractors and throw them into the latest contract, meaning a company that made experimentation the basis of its allocation may have a both a commercial attraction and greater scale than ordinary lab-scale experiments.
Not that I know what you are planning so it's likely to be off target. (Well actually your second sentence suggests taking existing teams in existing company)
More counter-intuitively, you can take a 10x team full of folks everybody agrees are brilliant, stick them in other teams, and have the other teams tank and folks in the other teams think those folks are losers.
It's a humbling (and enlightening) thing to watch.
ADD: A lot of the myth of the 10 or 100x developer is just a really, really capable guy with a supporting team that is able to meet all of their needs and clear all of their obstacles. The team (including our star) is the cool and irreplaceable part, but the "genius" or "boy wonder" gets all the good press.
I would argue this is almost always true especially in todays world of ever increasing software complexity. Building services, handling ops, fixing bugs, high level architecture, low level architecture, front end, back end, etc... are just impossible for a single person to ever be 10x at across the board. It takes a team to deliver software.
I look at it a lot like Michael Jordan and the Bulls in the 90s. MJ was the 10x player, but without the other hall of famers and all stars on the team they would not have won like they did. The same also goes for the rest of the team.
"You're looking for three things, generally, in a person," says Warren Buffett. "Intelligence, energy, and integrity. And if they don't have the last one, don't even bother with the first two."
It's a favourite quote of his, mentioned in this speech[1] as well, around the 1:55 mark.
0. http://theweek.com/articles/451860/why-clever-lazy-people-ma...
"How do I know I am doing the right thing?" Every second of every day, you have to keep that in mind.
http://en.wikipedia.org/wiki/Kurt_von_Hammerstein-Equord#Cla...
* They have an opinion on every subject, and express one in every discussion ("leadership")
* For any proposed task, they can give a list of plausible-sounding reasons why it should not be done ("technical expertise")
* Nobody challenges them because doing anything that sounds even a little bit like a challenge results in you getting shouted at ("respected by their peers")
Words in parentheses are what management sees.
Every time I have seen a case where these people have persisted, it has been because a clique of them back each other up and the rest of the people in the company are essentially docile. Every competent engineer who finds themselves in this scenario then discovers that they are (a) outnumbered, and (b) able to find a better job somewhere else, so that's what happens.
I've not met a single individual whose contributions were so amazing to make up for their toxic personality. Most all of the toxic people I've worked with have had poor productivity, precisely as a function of their toxicity.
Fractional (1/10) workers, at best.
10x workers, to me, are by definition non-toxic.
Certainly, there are developers who fit the mold of what you're talking about. I'm not suggesting that all toxic developers are 10xers. But the ones to really fear hiring are the ones who produce lots of code while they corrode your organization.
If that's true, then they are not "10x developers". Being super-productive, but only by yourself in a vacuum, is next to useless to any company with more than 1 employee.
There's another important fallacy.
From the viewpoint of a 10x worker, the /10 worker is toxic.
From the viewpoint of a /10 worker, the 10x worker is toxic.
The net result was there was never a stable team to get anything significant done. The project never did release anything. Needless to say they blamed everybody else apart from themselves. The last I heard, they did two more projects and met the same fate.