
Do elite software developers exist? - CoolGuySteve
http://ericsink.com/entries/sports.html
======
azakai
> But as far as I can tell, being a good accountant is mostly a function of
> good training. I don't hear people described as a "born accountant". I don't
> see people arguing about whether one accountant is 10X more productive than
> the average.

Unless the author is an accountant or otherwise close to the field (e.g.,
talkative friend is an accountant), this is a weak statement. I doubt people
not in tech know that people in tech write articles arguing about "born
programmers" and "10X" programmers. Such talk is internal to our field.

Most people _do_ know a lot about sports, because sports is very interesting
for most people. Accounting and programming, on the other hand, are opaque and
boring-sounding to most people. When the author talks about accounting, then
(again, unless the author is an accountant or close to the field - I see no
mention of either) that could be talk about a _stereotype_ of the field of
accounting, not actual accounting.

Just for fun, a non-stereotypical super-accountant is Lewis Litt from the TV
show Suits. He's clearly a rockstar accountant in that show, capable of
achieving things 100 average accountants can't. Is he a realistic character? I
don't know, just like I don't know if the "all accountants are about the same"
stereotype is true.

All of this doesn't necessarily undermine the entire point of the article, of
course - maybe accounting is not a good example, but some other field could
be.

~~~
aetherson
I am not an accountant, but I wrote accounting software for some time.

There are two basic parts to accounting: one is very much following an
algorithm. Okay, this real transaction occurred in the real world. Now you
have to update your books to account for that transaction. If it's a routine
transaction, there is pretty much a straightforward way to record it in your
books, and you just do that until the transaction is fully recorded, and
you're done.

That part is at this point in our lives fairly quickly being automated away.
It's what was to a large degree responsible for the super-boring old-style
image of an accountant being this person bent over mouldering books carefully
noting down numbers. You guys are all programmers, I imagine you understand
pretty quickly how that used to be necessary and used to involve a great deal
of very routine work that none the less had to be done with great attention to
detail.

The other part of accounting is essentially deciding HOW you are going to
record certain kinds of transactions. Setting up the algorithm, basically,
that you will then follow a thousand or ten million times each time you do a
sale or a purchase or get new investment or buy more office furniture. This is
definitely high-talent work! A lot of it has already been done -- if you just
want to do a sale, then well, there are a few different algorithms that you
more or less take off the shelf and use them. Kind of like how sorting
algorithms work in our field. You don't start from scratch and reinvent
sorting when you want to sort an array, you just grab quicksort or mergesort
or whatever -- choose the one that's most convenient or works best for you.

What's left to do, then, is decide how to account for novel situations, or
stuff that's unique to your business, and to mind the machines -- make sure
that data gets fed properly into the routine algorithms.

I think that there's room for a very talented accountant, though in many
businesses the accounting might be routine enough that there's not much use
for a very talented accountant.

~~~
waterlesscloud
Rockstar accountants make companies like Enron. I mostly mean that in a
complimentary way.

~~~
notauser
They also clean up Enron type companies. It's very different from just doing
annual accounts for small businesses!

Big 4 Forensic Accountants:

\- Investigate fraud.

\- Quantify accidental or deliberate changes in company valuations between
agreeing a sale price and the new owner getting control.

\- Estimate the cost to complete engineering projects.

\- Identify the value of shares and other assets owned by bankrupt banks in
the absence of proper records.

And many other things, usually in a completely different domain every 4-8
weeks as their client changes.

One example is this report on electronic monitoring:

[http://www.nao.org.uk/report/the-ministry-of-justices-
electr...](http://www.nao.org.uk/report/the-ministry-of-justices-electronic-
monitoring-contracts/#)

"The Department believes that both providers charged for work that had not
taken place, in a way that was outside what was set out in the contracts for
the electronic monitoring of offenders. PwC’s estimate is that the potential
overcharge by both providers in total may amount to tens of millions of
pounds."

------
calibraxis
One awful thing about these discussions is the invisible factor: team
structure. (Did I miss the part where he addresses it?)

\- One phenomenon: First Programmer racks up massive technical debt to spew
crap out fast. (Which is a valid strategy, but has its tradeoffs.) Next
programmers all have lower productivity because they're living in the First
Programmer's world. (And the managerial system's set up to reject sufficiently
large improvements to the situation.) Mediocre First Programmer becomes a
superstar.

\- Another phenomenon: Contractor who swoops in and gets the closest thing the
team has to greenfield projects, while everyone else tends to pull
maintenance-type tasks off the backlog. So the Contractor becomes a superstar.

\- Another phenomenon: managers more likely hire someone who merely LOOKS and
SOUNDS like an ideal programmer. Other programmers treat them with more
respect too. (I remember a successful programmer who was fooled by an ideal-
looking-and-sounding programmer, until they worked in a two-person team. Then
he discovered Mr. Ideal simply parroted tech podcasts word-for-word. Just your
typical big-mouthed junior programmer dudebro.)

Over time, these advantages compound. These programmers get into the right
circles, tasks which level up their skills faster, etc.

------
throwaya-
Yes, they do:
[http://www.construx.com/10x_Software_Development/Origins_of_...](http://www.construx.com/10x_Software_Development/Origins_of_10X_%E2%80%93_How_Valid_is_the_Underlying_Research_/)

Eric's article is a prime example of what's wrong with software development
writing: lots of opinion with a few anecdotes and analogies tossed in for good
measure, but absolutely no reference to any scientific study to justify any of
it.

I'm not trying to pick on Eric, but it really bothers me the extent to which
we listen to, discuss and ultimately adopt the unsourced opinions of our
peers. How much of what we do is done simply because someone like Martin
Fowler told us to? Why do we so seldom ask, Where's the evidence?

~~~
ericsink
I like to think that by expressing my opinion and labeling it as such, I am
meeting the [very low] expectations set by a blog entry at a URL with my name
in it. :-)

The McConnell link would have been an interesting thing to include, but if I
had done so, it would be looked something like this:

For the closest thing I can find to real evidence and research supporting the
10X programmer, start at this link to a piece by McConnell. But even there it
is interesting to note that most of the scroll bar is consumed by comments
from people debating the validity of the claims.

Even with the McConnell link and its contents, I would still find myself
saying that I believe the elite developer exists but readily admit that I
can't prove it.

If we could prove it, we wouldn't be arguing about it.

The 10X developer is to software as low-carb is to nutrition.

Hey, that last line is pithy! I'm gonna tweet that...

~~~
sgift
> If we could prove it, we wouldn't be arguing about it.

You have way too much faith in humanity, e.g. HN is full of discussion where
proved positions are simply dismissed because they don't fit into the world
view of some people.

I won't name the topics here, someone else can fall into that trap, but I
think anyone who read HN for more than three days should know a few examples.

------
hogu
Elite programmers absolutely exist, but not because elite software developers
are smarter or more brilliant than normal ones. Instead I think that the best
software developers do the following

1\. Ability to rapidly prototype responsibly - make good choices about which
short cuts can be taken, and making sure everyone understands the implications
of those shortcuts. There is some curve of doing things right and doing things
fast, and the good people I've seen can walk this line appropriately given the
business demands.

2\. Ability to not get bogged down in writers block or analysis paralysis,
which I've seen take out weeks of productivity in less experienced programmers
(everyone gets this some time, regardless of experience)

3\. Domain knowledge of the problem at hand - so that you know what you build
will actually be useful. Everyone can be told what should be done by sales or
whatever, but combining knowledge into one head rather than 2 is vastly more
productive

4\. Enabling the above 3 things for the rest of your team.

~~~
svec
+1 for your last point - scaling your abilities (even if they're not elite)
beyond just yourself makes you elite. (assuming you're a net positive
producer, I suppose)

------
samatman
To answer the question at the bottom: yes, literal rockstars. More
prosaically, authors fit the bill.

There's some parallel world where programming a computer is obviously
considered an author's profession (we use grammar, do we not) and where the
profession of software editor is well-paid and prestigious. I'd rather work in
that world, to be frank.

~~~
logn
I had the same answer come to mind (musicians). This is a very analogous
profession in terms of talent and success. And you see the same arguments
about having inherent aptitude (or lack thereof).

Companies are idiosyncratic and have unique staffing needs and cultures. Is
the same 5% of "rockstars" sought out by every company, or does each company
find a different 5% of people? Analogously, the violin player in Dave Matthews
Band is probably great, but he might have a hard time getting hired for an
orchestra or holding down that job.

Also, athletes cannot be compared. They're playing games that are strictly
defined and competitive. It's like trying to compare greatest football players
to greatest military ground troops.

------
skybrian
This article is missing something more fundamental: why pay more for talent?

Sports has very lopsided rewards, just by the nature of competition. In the
Olympics, the winners often beat the losers by amounts that nobody would pay
extra for under normal circumstances. But since the winner gets most of glory,
it's worth it to be that much better. Team sports also have a lot of
situations where being slightly better means you score points and otherwise
you don't. Games are set up to have binary payoffs to be more exciting.

On the other hand, someone working in a warehouse could have an amazing talent
at moving boxes, but they're not going to get paid much more, because the
increase in speed isn't worth that much more to the business. (That is, unless
someone wants to set up a contest?)

If you want to know why businesses pay a lot for programmers, you have to
start by looking at the rewards to the business. Startups have very high and
difficult to predict payoffs, so people are willing to pay a lot for talent
that they think might give them an edge. This will be true even if the edge
isn't all that great objectively speaking.

------
1123581321
Programming as an entire profession is too broad for a single discussion of
elite performance. There are aspects of programming which are only about being
competent to a sufficient degree, which is like accounting or practicing law.
Other aspects of programming will take as much competence and creativity as
possible and still want more, which is like athletics or creative writing or
theoretical physics.

~~~
tdk2fe
I came here to say roughly this. This isn't so much a topic for discussion
today, but not long ago I can recall arguments about the difference between
programming and scripting. Not long ago, calling yourself a programmer since
you made a website in HTML with some CSS was laughable.

I also think the issue with the "Rockstar Developer" discussion is that
there's no clear definition of what that even means. The author notes this in
the article - and there have been terrible attempts at measuring this (anybody
remember getting paid per lines of code?)

------
jaimebuelta
I find interesting that we usually compare so called "elite developers" with
areas like sports, where an objective comparison can be established (Usain
Bolt is better because he can consistently run 100m a couple of 1/100 sec
faster than anyone else) [Edited for clarification, I mean their elite peers]

I'm not sure if we should also make comparison with the productivity of "elite
writers" (even though there are best seller authors), "elite doctors", or
"elite plumbers"

~~~
ebiester
To further your point...

So, Usain Bolt has run the 100m in 9.58 seconds.

A decent time for a high school runner, according to
[http://www.reddit.com/comments/xu93j/hey_fittit_what_is_a_go...](http://www.reddit.com/comments/xu93j/hey_fittit_what_is_a_good_100m_time/)
(admittedly an arbitrary , is around 12 seconds.

So, the difference between an amateur in high school and the best in the world
is about 25%.

~~~
ericsink
Er, yeah, time is linear, but I don't think the distribution of runners is.

I bet there's a bell curve there, and Usain Bolt is WAY, WAY off on the right
part of the curve.

~~~
cheepin
I bet a similar curve exists for runner's paychecks with similar placement for
Usain Bolt.

------
hemancuso
I didn't love the accountant analog. Part of the problem, aside from
measurement, is impact. A great athlete can make outsized impact. And while
I'm sure a horrible accountant can make an outsized negative impact, it's
unclear to me if a great one can make an outsized positive impact. What would
that impact even be? Programmers impact can be felt with rev speed, quality,
maintainabilty, performance, etc. It's hard to measure how much one person on
a team can affect those things but at least they all matter and are felt, even
if difficult to measure.

I'd like to know more about elite researchers. Or surgeons. Or oncologists. Or
long term value investors. Are there folk in those types of professions who
have outcomes who seriously outstrip the top 10% of their peers?

~~~
coldtea
> _didn 't love the accountant analog. Part of the problem, aside from
> measurement, is impact. A great athlete can make outsized impact. And while
> I'm sure a horrible accountant can make an outsized negative impact, it's
> unclear to me if a great one can make an outsized positive impact. What
> would that impact even be?_

Are you kidding me? A great athlete can do no impact at all. Except if by
impact you mean get people to watch him perform. Other that that, it's pure
show, nothing productive comes out of sports.

A great accountant on the other hand can save his clients millions or billions
of dollars through (through tax loopholes for example, avoiding costly
mistakes, offering good advice etc).

~~~
robotresearcher
Real Madrid sold $150M worth of Ronaldo's jersey in around a year.

[http://metro.co.uk/2010/04/15/cristiano-ronaldo-shirt-
sales-...](http://metro.co.uk/2010/04/15/cristiano-ronaldo-shirt-sales-have-
already-paid-off-80m-fee-to-manchester-united-real-madrid-claim-242129/)

------
amix
Elite accountants usually get promoted into CFO positions, where they are very
important and get a huge paycheck. There is a huge difference between a good
and an amazing CFO.

I think 10X people exist in any area, including accounting and programming.
E.g. John Carmack, Linus Torvalds, Poul-Henning Kamp. Some top accountants can
be found by looking at CFO positions of huge companies.

These people are very rare tho' and most of us have probably not worked with a
10X person. Just like most of us have not played football with a "Ronaldo-
level" player.

~~~
TheOtherHobbes
There are probably also 100X people - and they're mostly unemployable in any
conventional sense. (Maybe Wolfram and Kurzweil?)

I think the bar for top talent is higher than is obvious, and it's lower than
it used to be.

It's not at the level of 'smart and gets a lot of stuff done' \- it's at the
level of good as McCarthy and K&R and the guys (and occasionally the women)
who invented coding in the 60s and 70s.

Most of them have been forgotten, but many of them had _phenomenal_ skills -
the kind of people who would work for a couple of months on a project, type in
all the code on a single day, and have it work perfectly first time.

Or who would sketch out a fully functional timesharing OS for a new hardware
architecture over a weekend and have it finished and working a couple of
months later.

Or the small team at Xerox PARC led by Charles Thacker who decided to clone an
entire DEC PDP-10 mainframe _as a side project_ , because management wouldn't
let them buy one and they wanted something nicer to code on.

------
bbarn
The thing is, the "Michael Jordans" of software development existing isn't
really all that valuable for the people looking for them.

What would start.up.ly do with John Carmack? Most of the companies that start
up aren't trying to solve the kind of problems that need this fabled head down
super-star coder to solve. What they really need is someone who can get the
big picture of their business space, and know what to do to accelerate that
business through software. The type of person they really need, and that are
really valuable in software are the people that know what not to code, and how
to get what needs to be done done, in a sustainable way. Startups don't need
the guy who swivels his chair around, taps his fingers together, and does the
magic they want. They require the guy who can stand there with them, help them
figure out what they can do with what they've got, and what they need to get
to do more, if they need to do more.

What they should be looking for are 10X EMPLOYEES, who have above average
development chops. Then pay them appropriately. Not 10X, that's not
sustainable, but value more than just the amount of code someone can write,
value the overall gain someone brings to your product, and be willing to pay
for it, and you'll do better than wasting time and money looking for Carmack
to come help with your iOS app.

------
rifung
It's interesting that the article uses sports as evidence that "elites" do
exist to some degree. On the other hand, I used to compete frequently and
talked with many professional athletes. Even among that top 1% of athletes,
the ones who were the very best (world champions or olympic medalists) usually
said that talent is overrated and it's mostly about hard work.

That's not to say that I think everyone is born on equal ground. I just think
talent should be thought of as having that work ethic and drive as opposed to
some innate ability. For whatever reason, some people will just naturally work
harder at something, especially when that person likes what they are doing.

I've seen this in the work place as well; the people who are interested in
what they are doing usually outperform those who are uninterested, even when
those who are uninterested may be less intelligent. However, as the people who
are more interested continue to work hard, (I like to think) their
intelligence will also develop because they are pushing themselves.

~~~
vpeters25
> the ones who were the very best (world champions or olympic medalists)
> usually said that talent is overrated and it's mostly about hard work.

They say that because they don't have a frame of reference as to what not
being talented in their disciplines mean. Their coaches might have a better
idea: they would not be in the team if their coaches didn't see raw talent on
them.

Sports is full of examples of very talented players who tried coaching and
failed (Ted Williams, Maradona, Jordan, McEnroe). They just could not
understand why something so "easy" for them was so difficult for their
players.

------
sillysaurus3
If elite software developers don't exist, then elite writers don't exist. But
I don't think anyone would make that argument.

------
frostmatthew
The author mentions Michael Jordan (and LeBron James) but fails to mention how
rare "Jordans" are (the buildup highlights the skill differences, not the
scarcity).

Truly _elite_ software developers are as rare as Jordans, i.e. one every 20
years or so. John Carmack would probably fall into the elite category, Dennis
Ritchie was probably his generation's "Jordan" \- but if you're defining elite
in Jordan/LeBron terms we wouldn't expect to see many elite developers.

~~~
ufmace
What is it that would make John Carmack an elite programmer, though? I'm not
saying he is or isn't, I just don't know what he did that well.

I think I remember reading one source claiming that his real gift was being
able to develop graphics engines at just the right level of sophistication to
just barely run well on the latest desktop computers that would be available
when the engine was ready, even though the development project was started
years before. If that's his main talent, it's definitely a gift, but does it
make him an elite _developer_? Or is he more of an elite marketer/market
analyst?

~~~
coldtea
> _but does it make him an elite developer? Or is he more of an elite marketer
> /market analyst?_

The part were he also CREATED those engines (instead of just predicting the
arrival or relevant desktop systems capable of running them) makes him a
developer, not a marketer/analyst.

It also seems you didn't fully realize what you quoted.

Being able to "develop graphics engines at just the right level of
sophistication to just barely run well on the latest desktop computers that
would be available when the engine was ready" means that he could program at
the cutting edge of what's possible for the available desktop hardware
everytime...

Not many people can do that, and do it consistently and well, and in a field
as difficult as 3D games (most of us people on HN for comparison, Rails/JS
guys etc, are glorified CRUD developers).

~~~
ufmace
I realize that his engine development abilities alone qualify him as an
excellent developer, probably at least top 1% of all developers. What I think
the article is talking about is the true handful-in-a-generation elite, who
are quantifiably orders of magnitude better than the top 1%, and have the
money and fame to go along with it. Are his development abilities alone that
much better than even the average top 1% developer, or is it more other things
to go along with that? Or maybe it's more accurate to say that you can't
really separate pure development skill from being able to develop the right
program for the right market at the right time.

Take Mark Zuckerberg for example. He's probably a really good developer, but
he didn't become a famous billionaire on development skill alone. He is where
he is because he had the right idea at the right time, and executed it
aggressively and intelligently. Is that a separate skill from pure
development, or is it part of being an elite developer?

------
jamariusThomas
Elite software developers definitely exist especially when you measure the
magnitude of contributions made to the industry and how influential the
contribution was. I would definitely place a guy like John Carmack in the
elite class considering his contributions to many notable video games over the
years. This type of measure is not all that different than sports where an
athlete's greatness is measured through the number of championships won and
individual stats and records. I would definitely argue that the difference in
talent between a competent/average individual in software probably isn't as
big as in sports. If you quantify how "elite" an individual is in software by
their influential contributions to the industry versus championships won and
records set in sports, you're definitely more likely to achieve "elite" status
in software. Take Ruby on Rails as an example, DHH is a hell of a programmer
considering he's built a multi-million dollar business in Basecamp and how
popular and influential Rails has been to web development. Now consider the
confluence of factors that allowed Rails to get huge. Things such as design,
code quality, timing, marketing, luck, etc. all played roles to differing
degrees. If you compared this to something like being an elite basketball
player there are even more factors out of your control. Being elite in
basketball is pretty much impossible. If you're 6ft and 180 pounds there is no
way you can reach the level of greatness of a guy like Michael Jordan. In a
sport like basketball genetics plays a huge role in establishing the base for
an individual to become elite, and obviously a ton of hard work on top of
those genetics too. If you don't possess the combination of height,
athleticism, strength, speed, long arms, big hands, basketball intelligence,
etc. there's absolutely no way you can reach Jordan or LeBron's level.

With every industry where you need some sort of specialized skill and are able
to quantify influential achievements in some sort of way, there are always
going to be elite individuals.

------
memracom
In the discussions about rockstar developers people pay far too little
attention to context, to the environment in which people work. Some people
have both the education and inclination to be great at developing CRUD apps.
And if the job requires churning our Rails or Django code, those people will
appear to be rockstars. Meanwhile a guy who really groks distributed
multiprocessing doesn't have the raw material to work with to display his
talent. But if the context changes, the needs of the company shift, then you
will see a new rockstar emerge and people will be wondering why the old
rockstar simply can't cut it any more.

Unfortunately, most jobs are in an environment where needs do change, and the
majority of developers who work in such environments, do not see a real clear
"rockstar" distinction among the people they work with.

To me, this suggests that hunting for a rockstar to add to your team may well
be a fools errand. We should probably do more to raise up all developers in
our team to a higher level, by making sure that everyone understands our set
of tools, the apps that we have already created (and will have to modify in
future months, years) and the upcoming new business requirements. Everyone in
our business knows that we have to be constantly learning, but few development
teams try to manage that learning as a team so that everybody's competence
level rises. It does no good if your job requires great CRUD apps while you
are learning Clojure on the side, your workmate is learning Go language, and
the architect is busy learning .NET Reactive eXtensions.

If the job requires CRUD using Rails, you would likely be better off if
everyone learns Python/Django because then you all have a choice of tools to
use that fit the needs of the work you are doing. Or Grails on Groovy. Even
node.js and Lua have some good CRUD frameworks.

In another environment, Clojure, Erlang, RabbitMQ, Celery/Python, Scala/Akka
etc. will be the things you need to know.

And in another environment, even today, C/C++ with SodiumFRP would be a better
thing to know.

------
fsk
There may not be 10X accountants, but there certainly are 1000X divider
accountants.

Consider Rita Crundwell. She is, objectively speaking, 1000X worse than the
typical average accountant.

[http://www.wirepoints.com/how-the-largest-municipal-fraud-
in...](http://www.wirepoints.com/how-the-largest-municipal-fraud-in-u-s-
history-was-committed-in-illinois-wp-original/)

I also have, a couple of times, worked with 1000X toxic bosses in the software
industry. They usually avoid doing something so flagrantly illegal, but their
projects fail and blame is deflected to other people.

------
Webster
From my experience, software development is much more like writing than
accounting or sports. In my experience writers vary a lot in their skill. Not
everyone can write, and some writers are much better than others. Of course
some not very good writers still create useful documents. In my experience
though writers are not fungible. No one would replace Shakespeare with a pulp
hack, but that is really what a lot of this argument seems to me to be about

------
quizotic
I wonder if we're evolving scoring systems right now. Not so much with
hackathons and sites like codefights.com but through data mining github. I'm
thinking of a recent post to HN in which successful github projects were
correlated with a contributor who added more code than all other contributors
combined. I suppose if I were looking for a 10X developer, I might reach out
to people like that?

------
cheez
The only plausible way to understand the 10x programmer is that this person is
someone who accelerates productivity 10x, by inventiveness or whatever else.

For example, the person who wrote the first parser generator was a 10x
programmer. He may have written less code altogether than the first client of
the parser generator but he made generations of programmers more effective.

------
magwa101
They do exist, think of this metric, bugs per line of code. Rock star
programmers write fewer lines of code, but higher quality lines of code, and
therefore have an exponential quality effect on the code base.

Then think of how they help/influence others, that is the real 10x multiplier.

------
svec
I wonder why we talk about 10x or elite or rock star programmers in the first
place.

Do we ourselves want to _be_ 10x developers?

Or do we want to _hire_ 10x developers?

Or do we want to _work with_ 10x developers?

Or do we want to _figure out if we can measure software development in the
first place_?

------
tmilard
There is a fait détail you sud not point out : in sports or accounting, the
art is stable. Wereas in software programming the langage is nit stable at all
... ans it changes vert much the évidence of a stable-élite programmer.

~~~
peteretep
Meta: I've seen a couple of comments like this on social media recently, with
odd French-like accents. Was this auto-translated from French to English?

------
foobarqux
If you can't measure programming ability then superstars won't get superstar
salaries, unlike sports.

------
tdk2fe
A couple things:

First to the authors question regarding a similar profession - It would seem
to me that actual musicians and performers would fall into this category. I
haven't seen any definitive measure for identifying an actual Rockstar, or a
Rockstar Actor (to use the same vernacular), or Comedian. I don't think salary
alone would identify this type of person, since its highly a highly subjective
area that are influenced by personal tastes.

I think software shares this as well. What makes a good piece of software?
Moreover, what makes a good software developer? Is it ingenuity and intellect?
Or is it somebody who is content with the more mundane aspects of a software
project, isn't going to write a new Graph API, but consistently and
methodically develops clean and working code? In a theoretical scenario - lets
say a single guy was responsible for all of the Bash scripting that went into
the Init system millions of servers use today. There's nothing cutting edge in
those things, its a lot of "start this, then this, and if this happens call
this" type of linear design. Would he qualify as a "Rockstar" based on the
fact that millions of people rely on his scripts to start machines up? Is he
worth more to a potential employer than, say, John Carmack if your
developing/supporting a Software as a Service platform?

I've been seeing a lot of articles exploring the Rockstar complex in the past
year or so, which makes me think its more or less an invention of marketing
than an underlying trend in the industry. Its basically asking "Are there
software developers who are insanely good at writing code to solve problems?"
The answer is yes - I dont think it merits scientific inquiry.

But there's a more interesting question for me that nobody seems to address;
Why the sudden fascination (demand?) for "Rockstars" in development? In my
personal experience it seems to be because of a (false) perception that people
who write good code are hard to find. And even when you have somebody writing
good code, because of the abstract nature of the work, its difficult to
deliver something quantitative and tangible on a consistent basis.

I think one huge failure of the industry so far has been to agree on even a
basic set of what would qualify somebody to work professionally in it. If I'm
a civil engineer, no matter how brilliant I might be, or what my pet projects
look like, there's no way in hell i'm getting around a municipal project or
getting a contract to build a bridge for a city without at least a PE
certification.

Why doesn't something similar exist for programming? It would make sense given
that programmers are responsible for things like Air Traffic Control systems,
Automated dosing of drugs in hospitals, and a lot of "mission critical"
systems that impact millions of people.

------
norswap
The big difference: programming is a creative endeavour (1) whereas accounting
for the most part, is not (2).

(1) Even when working on a precise assignment, the latitude of choice, style
and tools one can employ is much wider than in most other professions. It's
also rare that there is a single, well understood and uncontroversial way to
perform a task.

(2) Yes, even taking "creative accounting" into account.

