“A great lathe operator commands several times the wage of an average lathe operator, but a great writer of software code is worth 10,000 times the price of an average software writer.” –Bill Gates
Why is tech news so fun and addicting? Why do I keep scanning my RSS feeds hourly for the latest?
Great programmers are rock stars. Their heroic abilities and exploits are why we RSS Techcrunch and Siliconangle, continuously scanning articles for the latest hits and misses. Programer rock-stardom, however, is founded on the well documented variation in software programmer productivity. Programmers, as it turns out, have one of the highest productivity variations of any profession.
"Numerous studies have found 10:1 differences in productivity and quality among individuals and even among teams.... programmers with an average of 7 years’ experience and found that the ratio of initial coding time between the best and worst programmers was about 20 to 1; the ratio of debugging times over 25 to 1; of program size 5 to 1; and of program execution speed about 10 to 1." -Steve McConnell, development productivity guru and "10X Software Development" blogger
Anyone who has spent much time in a software engineering environment knows "the guy" to go to with the hardest problems, the one who can bang out the solution in an hour, instead of weeks. For me, it was an über-nerd named Roy who was the best talent in our 200-strong engineering group, despite having never spent a day in a college classroom. I once saw him in Blockbuster Video with his family. I was completely star-struck and I asked the woman at the register if she had any idea who she was renting videos to. I reacted this way despite sitting two doors down from him at work--he was a legend and I wanted everyone in Blockbuster to know it.
It was a similar reaction to the one in this recent USB Rock Star Commercial.
The same dynamic plays out at companies, and then fun begins! These rock star programmers have the power to create new markets, or topple top brands seemingly overnight. There seem to be two types of visionary programmers.
The first group makes a common thing uncommonly well:
Some of the greatest computer scientists out there excelled in this category. They go to the mattresses in a hiding place in Mountain View, San Francisco, or Atlanta and emerge with an unexpectedly awesome new edition of an already common piece of software. They work in small "best-of-the-best" teams with few breaks. They create value where the market thinks no more can be created. Google Search, Jboss, and Sun's Fishworks, are examples that readily come to mind.
They upset markets by adding a radical dose of speed, reliability, manageability, or simplicity to known functionality. This first group of rock star programmers have the rare combination of smarts and passion you can't teach.
The second group of rock star programmers grab the opportunity no one else sees yet:
These programmers revolutionize data or user behavior that was seemingly waiting to be coded appropriately. Napster is a great example of a somewhat simple piece of software that - despite its technical simplicity - was the result of a programmer seeing lots and lots of interesting data waiting to be harnessed into an application. I would also add Twitter into this group. It is an expansive view of where new linkages can be created that drives this group of programmers more than any outstanding ability to write the best code (as evidenced by the frequent sightings of the Fail Whale!)
Don't always expect reliability, scalability, and general code perfection from this group - they are the visionaries of outstanding and radical applications that turn the everyday and mundane on its head.
How are you taking your productivity and vision to the next level? Sometimes its hard to tell just how productive you are, but for now it's a good sign if the young engineers in your group are starstruck when they see you in public.
What are your rock-star coder stories? I'd love to hear them!