We Don't Need Another Hero


There's a misconception about engineer quality that states that good engineers are orders of magnitude better than average engineers..  As I understand, it began with Bill Gates saying,

"...a great writer of software code is worth 10k times the prices of an average software writer."

I've known a lot of smart people, but in my experience genius itself is a bit of a suspect concept.  Everyone has their gifts and weaknesses.  Even those publicly labeled as genius may simply be freed by eccentricity to express themselves openly when others would hold their tongue.  In my mind "genius" is really a parental strategy to propel children toward survival in a world of scarcity.  An extreme variant of what Japanese call "親バカ" or "imbecile parent," a parent so lovestruck by their child that they're incapable of seeing their faults.

Let's say we take "genius" as a concept at face value though.  Even geniuses are not 10k more intelligent than the rest of us.  Will a genius developer produce 10k times more?  No.  Will his/her ideas be 10k times more inspired?  Unlikely.  Necessity is the mother of invention and inspiration is applied in progressive baby steps.  Bill Gates himself, despite perhaps being a genius coder distinguished himself by virtue of his shrewd, strategic business mind not exclusively "hand of God" coding.

I'm unaware of the context in which Mr. Gates's quote was made.  While I'm uneasy with how it's at times interpreted, I'll first try to try to understand.

For those familiar with software development and project management, there's an understanding that bad choices carry a cost and that cost increases exponentially with time.  Good developers that set you in the right direction early will save you a lot of time and money long after they're gone.

In addition, computers are good at executing mundane tasks at  high volume.  That's largely what we use them for.  If you make a mistake in what you tell the computer to do and it's replicated a million times, it could carry a substantial cost.  A good developer is less likely to make such mistakes, though everyone still does it.  A good developer knows how to test to catch his/her mistakes and how to think through worst case scenarios to identify false or incomplete assumptions.

Finally, a good developer knows that he/she knows these things and is able to articulate them across the organization.

So why the rock star pedastalizing?  We're in a time of transition to the Information Age.  We're not yet at the point where technology has fully permeated every corner of economy.  There's a growing awareness of engineering but coding is still a bit of a crystal ball to many.  Superstition around hard science perhaps predates even Pythagoras.  Engineering is beginning to be recognized as critically important to some businesses.  Practically speaking, it's a competitive world and people are willing to pay for quality.

Recruiting good people is important.  Hire good people and you benefit form their network.  Just don't expect any hire to be 10k times better than another.  Rather than paying for that kind of difference, better to spend the resources building strong team dynamics through diversity, collaboration, a good culture, the correct incentives, open communication, training, etc.

Comments

Popular posts from this blog

Engineering Truisms

The Telescoping Constructor (Anti-Pattern)

A Strategic Approach to Precision Process Automation