November 2005 - Posts

Happy Thanksgiving, Everyone

Whether you're in the US or not, I would like to wish each and every reader a Happy Thanksgiving Day!

 

:{> Andy

posted Thursday, November 24, 2005 6:06 PM by admin with 0 Comments

Soloists vs. The Choir

I discovered blogs a few years ago reading Eric Sink's blog, Eric.Weblog(). I was led to his blog by his regular columns on the  (the series is still posted there): The Business of Software. For those who do not know, I once earned my daily bread running a small business. Eric expressed things about the software business that I had learned (or wished I'd learned) during that time. His blog remains at the top of my bloglines favorites - right next to Joel Spolsky - legend and founder of Fog Creek Software - whose blog I discovered through links on Eric's blog (isn't the internet wonderful?). The thing I admire most about these guys is their obvious passion for the business of great software development.

During the summer, Joel posted an awesome tome entitled Hitting the High Notes. In it, he delves into one motivation for starting a software company in the first place: "building the company where the best software developers in the world would want to work." Joel's premise is the Best Working Conditions lead to the Best Programmers which lead to the Best Software which leads to Profit! His post deals with a cornerstone of this philosophy: Is there really that great a difference between good and great programmers?

Joel cites some impressive statistics gleaned from Yale Professor Stanley Eisenstat, who teaches a software development class. The scatter plot says it all.

As Joel notes, "There's just nothing to see here, and that's the point. The quality of the work and the amount of time spent are simply uncorrelated." His conclusion: "You can't afford to be number two, or to have a 'good enough' product. It has to be remarkably good, by which I mean, so good that people remark about it. The lagniappe that you get from the really, really, really talented software developers is your only hope for remarkableness." (For my fellow vocabulary-challenged readers, lagniappe means "an unexpected added benefit." I had to look it up... isn't the internet wonderful?)

Please read the post in its entirety, I'm sure you will get more out of it than this summary provides.

A couple months after Joel's post, Eric responded with a post entitled My Comments on "Hitting the High Notes". Eric's post emphasizes the importance of teamwork in developing great software. The contrast in the two paradigms is summed in three paragraphs:

"For a soloist, hitting the high notes is an essential skill.  In a choir, the essential skill is the ability to blend.  Some of the most gifted soloists just don't have the stuff it takes to fit in a really great choir. 

Sometimes, they can't blend.  Their voice is the problem.  A really distinctive voice is an asset to a soloist but is a disadvantage in a choir.  They can't blend because that's just the way their voice is.

More commonly, they won't blend.  Participation in a serious choir requires a generosity that simply is not present in everyone.  Choir members don't get individual accolades or fame.  Soloists do."

The remainder of Eric's article answers the question: "So are you saying we should forget about the high notes?  Certainly not.  I am not suggesting that you hire 'mediocre programmers'." His conclusions (summarized by me):

  1. "Be it a choir or a team, you want every member to be at the highest possible talent level.  But the people on your team have to be willing and able to blend."
  2. "Great developers don't just make the product better -- they make everybody around them better."

Again, please read Eric's post in its entirety for the full effect.

I am interested in your thoughts on the matter.

Is solo talent the key to great software development? Is it team talent that leads to greatness? Or is it some combination of the two? Is such a combination possible and/or necessary? What do you think?

My two cents:

My experience has shown results matter - regardless of your market. But - and this is key - markets are different.

If you are, or work for, a small software shop, your results are directly tied to the consumer of your software products. This is your market. You don't have to guess whether you did a good job or not - you merely need to examine the corporate checking account.

If you work for a larger firm as part of an IT department, your market is comprised largely of internal customers. Internal customers consist of business people and analysts of all sorts, shapes and sizes; most of whom have or are seeking advanced degrees in business or marketing. This is your market. Your measure of success is feedback from these good people.

To sum:

  • Small software company, consumer, bottom line is your critical success factor (CSF).
  • Larger organization, MBA, feedback is your CSF.

Herein, I believe, lies a cultural disconnect.

Teamwork is essential in a large organization. If you cannot "play well with others" you will find your(talented)self out of corporate life quicker than you can say "I hate Microsoft" or "Open source rules." And yet, why can't we find a way in the corporate world to professionally and successfully manage talented, yet difficult, people?

My friend Mike Potts, the Efficient Coder, perhaps characterizes the bane of the coporate coder best in his essay entitled Where are you OOP??: "Developers in these shops are typically doing all they can just to meet their deadlines, probably have a very low team morale with hardly enough time to do their jobs much less truly analyze anything. A little Psycho meets MS Project."

Is managing talent that hard?

I've been a manager a couple times - most recently in the IT infrastructure for a large corporation (trust me, you would recognize the slogan...). I can criticize my peers and myself alike for errors handling talented individuals - but managing talented individuals comes down to some simple, yet often difficult, concepts:

  • Don't do anything stupid.
  • Don't tick off the talent.

Actually, ticking off the talent is kind of stupid, so Concept 1 would probably suffice.

Sometimes, however, the scales tip in the opposite direction and the talented individual hijacks an organization (or appears to) as discussed in this thread.

My experience managing talented people has been double-edged. It's great when you find a way to communicate the harsh realities of corporate culture in a manner which actually penetrates the talented psyche; and it cuts like nothing else when you fail at this endeavor. My practical advice to corporate IT managers:

  1. Don't be intimidated by talent - lead it.
  2. Communicate the (sometimes harsh) realities of the current corporate culture to your team - then challenge institutional bureaucracy at every opportunity.
  3. Greet individual or team success and failure with a predictable and balanced response - and protect your team members from unpredictable and unbalanced responses. Remember: You must be free to fail before you are free to succeed.

:{> Andy

PS - Every IT manager (ok, professional) in large corporations should read Career Calculus - another great post by Eric Sink.

posted Friday, November 11, 2005 6:05 PM by admin with 1 Comments

On Book Authoring (Part 4)

Now for the fun part: the work is done.

For me, the work ended with one last all-nighter. I was a week late on the copy-edits and was basically holding up the book. It was definitely not intentional, but facts are harsher realities than intentions.

"There I was..." in the middle of moving myself and my family from Jacksonville, Florida - our home of 3-1/2 years - to Virginia. The purpose of the move was to get my family closer to our extended families in Virginia. I had relocated my wife, children, cats, and most of our stuff and was preparing to fly out of Richmond for one last day of packing and work. Sitting in the Richmond airport, I popped open my laptop, connected to the free airport wireless service (is anyone in Atlanta reading this?) and began checking email. I hadn't checked email in a few days, so there were a few messages waiting. Some marked "URGENT" - from people you don't want to receive URGENT messages when you're writing.

It wasn't a pretty situation. Months earlier, I'd snagged my screenshots using Beta 2. I saw a webcast earlier in the week about Team System (one of my chapters is an introduction to SDLC for DBAs), and the wizards looked really different. So I knew I would have to snag new screenshots. But to snag new screenshots I needed access to the Release Candidate 1 (RC1) applications, which I did not have. This meant the book could go to press with inaccurate screenshots or the chapter could be pulled. Not good.

Luckily, some good folks at Microsoft responded to my repeated barrages of tear-stained spam and provided a copy of the RC1 software. It turned out a disk had been FedEx'd to my home in Jax - and that email was among those I read while sitting at RIC awaiting my delayed flight. As I was proof-reading my response to the URGENT message, stating the material I needed to complete my work was waiting for me in Jax, a followup URGENT message arrived - this one with an appended PLEASE RESPOND IMMEDIATELY in subject line.

I stopped proof-reading and clicked Send.

Don't get me wrong, I am not complaining. These folks had more than enough reason to be demanding, upset, and worried. I gave every indication of dropping the ball, and the publishing business is extremely time-critical in nature. Drop a few balls and you have no book to show for lots of time and effort. So I understood.

When I arrived in Jax (late), my FedEx was propped against the front door. I opened the package and began snagging and editing. I snagged into the wee hours of the morning, then into the morning, then past the time I was supposed to show up for my last day at work. I worked into the early afternoon and finally it was done. And accurate.

I shipped it off to the editors for another final once-over, put in an appearance at work to say some tough good-byes, headed back to the house, paid the carpet cleaner, packed up my old pickup, grabbed four hours of sleep, then aimed the old Jeep north for 11 hours of interstate travel. It was the hardest thing I've done in years. Was it worth it? Are you kidding?

Amazon has the book listed with  showing the authors. It's almost showtime!

:{> Andy