Why You Need To Hire Great Developers, Part 2

In my last post I talked about why you need to hire great developers, and how the difference between average and great developers is easily 20x.

Recently, Robert X. Cringely found and restored an hour long interview with Steve Jobs from his days at NeXT. He’s put it up on the web as Steve Jobs The Lost Interview. In this video, you really get to see first hand a lot of Steve Jobs thinking. What I found interesting, in a deja-vu sort of way, is the following remarks from Steve Jobs about teams and the dynamic range of software developers:

“I observed something fairly early on at Apple, which I didn’t know how to explain then, but have thought a lot about it since. Most things in life have a dynamic range in which average to best is at most 2:1. For example if you go to New York City and get an average taxi cab driver versus the best taxi cab driver, you’ll probably get to your destination with the best taxi driver 30% faster. And an automobile; What’s the difference between the average car and the best? Maybe 20% ?  The best CD player versus the average CD player? Maybe 20% ? So 2:1 is a big dynamic range for most things in life. Now, in software, and it used ot be the case in hardware, the difference between the average software developer and the best is 50:1; Maybe even 100:1. Very few things in life are like this, but what I was lucky enough to spend my life doing, which is software, is like this. So I’ve built a lot of my success on finding these truly gifted people, and not settling for ‘B’ and ‘C’ players, but really going for the ‘A’ players. And I found something… I found that when you get enough ‘A’ players together; when you go through the incredible work to find these ‘A’ players, they really like working with eachother. Because most have never had the chance to do that before. And they dont work with ‘B’ and ‘C’ players, so its self policing. They only want to hire ‘A’ players. So you build these pockets of ‘A’ players and it just propogates.”

 

  • http://pulse.yahoo.com/_U6ISRXJULTMJSTDR4JFI7CAG5U fauxscot

    ,,,,versus Microsoft and their “stack rank”, which sets team members competing with each other, instead of other companies. interesting.

  • craigvn

    I think any job that is largely intellectual will have high degrees between the top and the bottom. There are physical constraints to the performance of Taxi drivers or plumbers but not really to developers.

  • http://twitter.com/sbussard Ξ Stephen Bussard Ξ

    strikes a chord

  • mattvanhorn

    I am quite fond of the saying “‘A’ players hire ‘A’ players, ‘B’ players hire ‘C’ players.” I did not know that it originated with Steve Jobs, but it kind of makes sense.

  • Saathi

    I feel it is not only true for software but for any profession. I feel in every profession the difference between avg and best is huge. Whether profession is software, finance or plumbing

    • http://darwinweb.net/ Gabe da Silveira

      It depends on the creative freedom. Software > Finance > Plumbing > Cab Driving. The reason is constraints. Plumbers certainly can be more than 20% better than each other, maybe 2x or even 3x, but there’s a limit because plumbing only serves a limited number of goals and operates in the physical world. Finance gives you more freedom because you can invent new financial instruments that have nothing to do with the physical world, but you’re still fundamentally dealing with money and existing financial systems. Software on the other hand, is completely wide open. You can literally conceive of any system of any complexity and any operational methodology and manifest it. A good programmer might create a flawless brilliant system, but a great programmer might conceive of solving the same problem in a completely different way that is 50% less code and 100x more configurable. It’s not that the best programmer types faster or thinks through the problem faster, it’s that he might come up with ideas that are fundamentally different may be orders of magnitude better. Software systems are so varied and complex and our intelligence so middling for the task that good ideas can reap huge benefits. This is very different from other professions with narrower goals and more constraints; which is everything except maybe art, but art does not produce concrete results that can be measured, and it is not collaborated on by hundreds or thousands of different artists over the lifetime of a work.

  • B Developer

    bla bla .. and btw, it’s “propAgate”

  • Gurdjeff

    You can’t have 2 ‘A’ players working together without some serious ego clashing. Expect intentional antagonistic decisions just so they can do their “We’re doing it my way” routine.

    • anonymous_cowherder

      This is absolutely wrong.

      A’s love to bounce ideas off each other, to argue. Their ego is wrapped up in learning.

      Your two “A players” are Cs at best.

      • Stephen

        I’ve heard experienced managers say that some of the best people have enormous ego problems and the job of management was to make sure they worked without killing each other.

        If they’re truly the best, a little ego will be ok IMHO.

      • Gurdjeff

        “This is absolutely wrong.”

        “Your two ‘A players’ are Cs at best.”

        You have the ego of an A player, now you just have to bring up your skillset to match that ego of yours.

  • the vault dweller

    if you disagree about b and c players, then you don’t really understand what an a player is. if the rest of you were right, there would be no companies like apple or google churning out amazing products.

  • Brendanp

    If B players are managed then too can be A players. Inspiring people to go beyond their best. We all have it in us

  • Draze

    Crap article, of course in everything u need a best one to be a leader

  • http://www.facebook.com/stephenbdodd Stephen Dodd

    Great backup to the previous article!

    BTW, your RSS feed doesn’t work (in Chrome OS X 10.7.4)

  • eh?

    IN CANADA WE CALL ‘A’ PLAYERS ‘EH?’ PLAYERS!

  • Dominique De Vito

    What Steve Jobs said sounds like what I thought about Google recruitment rules. I was thinking Google is recruiting top-notch developers for the following reasons:
    - they tend to be more self-managed: they know better what they have to do on a daily basis, and to organize themselves individually and as a team.
    - the ratio productivity/pay is interesting from the compagny point of view: for example, they could be 5 times more productive than the average developer while being paid just 2 times more.
    - and another worthwhile point is that the cost of meetings is (IMHO) about N^2 with N being the number of attenders: so, while you have a small team because of great developers, you spend less money on meetings and more on business and code development.

  • http://benlakey.com/ Ben Lakey

    Test