I recently read Eric Sink’s Comments on Hitting the High Notes, concerning an essay published by Joel Spolskyan entitled Hitting the High Notes. Eric expanded on Joel’s metaphor of vocalists to explain something about software developers. Eric paraphrased Joel’s article:
Great software products don’t happen without the very best software developers, just as certain musical performances simply don’t happen unless the performers have someone who can hit the high notes. These “peaks” in performance are the result of certain individuals with extraordinary talent, and there is no substitute. You can’t reach these peaks through the sum of talent levels. Your opera score says the tenor needs to be able to hit a high B. Adding baritones won’t help increase the vocal range. It just makes the group louder. Similarly, adding mediocre programmers doesn’t increase the talent range to the point where they can create something insanely great.
I really like this metaphor, but it’s a two-sided coin. High notes are amazing, but harmony is powerful. I am not disagreeing with Joel’s metaphor. Rather, I like his metaphor so much that I want to finish it. Joel spoke of individual talent in terms of a soloist. I want to speak of team talent in terms of a choir.
Eric’s comments struck a dissonant note with me. Eric states:
Maybe when you think of a choir you think of your church choir which does a special song on the fifth Sunday and where the average age of the women in the alto section is 92. I think it’s great that churches create opportunities for people to sing, but that’s not really what I’m talking about.
Ahem, the church choir I sing in sings a “special” song nearly every Sunday and the average age isn’t anywhere near 92; probably closed to 45-50.
He describes a serious choir as:
- All of the choir members had to audition to get in, and lots of people didn’t make the cut. ===> No auditions for us but in my case I was asked to join
- The director is formally trained. ===> True in our case
- All of the voices start and stop at exactly the same instant. ===> We get awfully darn close
- When the choir is singing softly, there is no less intensity than when they are singing loudly. ===> True in our case
- When they perform What Child is This? at their holiday concert, nobody takes a breath in the middle of a line. (In the proper singing of that piece, the singers are allowed to breathe four times per stanza, not eight.) ===> No comment
- The people in the audience are not wearing jeans. ===> Parishioners do occasionally wear blue jeans
Seriously though, I have not been in the position of starting a company or development group from scratch. Joel states:
For the last five years I’ve been testing that theory in the real world. The formula for the company I started with Michael Pryor in September, 2000 can be summarized in four steps:
|Best Working Conditions||→||Best Programmers||→||Best Software||→||Profit!|
My past experience managing technical teams and developers has been primarily in government contracting environments where the staff is largely pre-determined in the case of incumbents from the previous contractor or already in place in the scenario of taking over a vacated management position. I’m normally faced with the situation:
|Adequate Working Conditions||→||A mix of Programming
|→||Good Software||→||Adequate Profit|
Working conditions have varied in my experience ranging from the basement to an environment with all offices with doors and recreation areas.
Programming skills have always been mixed. Although we try to hire the best of the incumbents; smart contractors do their best to keep these folks. When necessary we bring in the best and brightest corporate resources we have, that is if we can afford to do so. In many situations one can’t afford not to do so.
There is no arguing that you get adequate software, at best, in a “low bid wins” government contracting environment. The federal government has tried to rectify this situation with their move to performance based proposals. Still, low cost remains a key factor is award decisions.