One Red Question - The Developer Ratio (VIDEO, POLL)
on September 18, 2007 - Comments (View)Steve Jobs says 50-to-1, others say 1000-to-1, some say none-to-1. Just how valuable are the best devs and engineers when it comes to building a product?
Just how valuable is a great developer? How many code-monkeys (see video below) does one savant compensate for?
Steve Jobs is quoted as suggesting a ratio of 50-to-1. Former Microsoft CTO Nathan Myhrvold half-jokingly said the ratio was 10,000-to-1 (taken from Stephen Covey’s 8th habit, page 14), and a 1994 study suggests a ratio of 10- to 20-to-1.
Steve Jobs is quoted as suggesting a ratio of 50-to-1. Former Microsoft CTO Nathan Myhrvold half-jokingly said the ratio was 10,000-to-1 (taken from Stephen Covey’s 8th habit, page 14), and a 1994 study suggests a ratio of 10- to 20-to-1.
Conversely, Ashok Kalle, founder of Pathway communications, shared this memorable quote regarding superstar employees in his Red Canary profile.
“Imagine a hill with two tigers: extraordinary players come with extraordinary expectations and extraordinary egos.”
It’s your call. Are great developers that great? Do modern programming methodologies make average coders more efficient? Is it wiser to try to hire and retain someone who is ‘good’ rather than a ‘superstar’?
Please comment with your experiences and opinions.


Comments
sep 18 2007 15:25
10 Reputation Points
A) Don’t get me wrong, I love that video and I ‘am’ that code monkey.
B) Steve Jobs also makes the 50-to-1 comment on page 12 of “In the Company of Giants”.
Edit (for another )sep 20 2007 20:00
7 Reputation Points
I will answer this with some napkin calculation.
Apple has about 18,000 employees. Microsoft has about 80,000 employees.
For fun, let’s just use the ratios at face value. Jobs’ 50:1 would mean they need ~360 superstar developers. Myhrvold’s 10,000:1 would mean ~8 superstar developers. At 20:1, Apple and Microsoft would need ~900 and ~4,000 respectively.
So, in short, one is a must for a startup, and at least hundreds for global presence.
Edit (for another )sep 21 2007 08:28
10 Reputation Points
That’s a great answer Tim! I might run with the idea that every startup ‘must’ have one superstar developer.
Edit (for another )sep 28 2007 11:22
8 Reputation Points
At the risk of being overly negative: productivity differences are worse than is implied with a ratio!
10:1, 100:1, 1000:1 all imply that a great developer is x times more productive than some nominal level of productivity. This implies that even the “baseline” developer is productive and contributes to the cause to an albeit diminished extent. This encourages hiring managers to entertain the notion of bringing on “B” and “C” people because they are available, cheap and can “help out somewhere”.
In my experience bozos can move you backward by the same margin as the superstar moves you forward.
So if you believe a superstar developer is 10:1 then I would say they are 5:1 over baseline and a bozo is -5:1.
Watch out!
Edit (for another )oct 05 2007 08:20
4 Reputation Points
Following up on Jim’s comment, programmers—great or otherwise—don’t work or live in a vacuum. One of the additional benefits of having a Great Programmer as part of a team is that the GP can enhance the performance of the team (at least, the team members that are not immune to learning).
Whether rock climbing, tennis, playing in a band, or programming, our level of skill can be improved by close association with someone who does it really well.
So the effect of a GP is not simply a matter of the quantity or quality of code he or she produces compared to the canonical Mark 1.0 baseline programmer, but also includes the effect over time that he/she has on the team and other co-workers.
Oh, by the way, I consider “plays well with others” a necessary pre-condition for being a GP! I don’t care how bright someone is, if he/she is obnoxious and disruptive, he/she isn’t “great”. I’ve seen the following sad cycle too many times to ignore that fact:
1) Person X is at least marginally better at some needed task than A, B, C, ... on the team, but is also excessively egotistical and abrasive.
2) Manager M feels compelled to depend on X’s skills to move some part of the work forward. Instead of mentoring or cooperating with others, X just gets more ego and attitude.
3) A, B, C, ... become frustrated, feel overlooked, and start disengaging, leaving, or are simply shut out.
4) X is now the center of attention, but now starts to feel the pressure and the workload.
5) M is now unable to transfer any part of X’s workload to A (the surviver) or P (the trainee), Q (about to quit), or R (the replacement).
6) At this point either:
6a) the project collapses (the merciful outcome),
6b) M is replaced for schedule slips and N (the new manager, who promises to “whip that team into shape”) increases the pressure and we recycle to step 6, or
6b) X blows up and leaves. M tries to reassemble the fragments of the team and the project and we recycle to step 6.
7) At some point, M looks back and realizes that maybe X wasn’t such a Great Programmer after all.
But (as the happy music plays and the credits roll) M also recalls G, who was bright, productive, and willing to help his co-workers (with both tasks and ideas), and M realizes that there still are a few GPs out there.
-jn-
Edit (for another )