> 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.
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.
"I might be on thin ice here. I need an example of a profession which does not have the same kind of enormous talent differentials that we see in sports. I could choose something like lawn mowing, but the comparison to software will work better with a field that typically requires college education. I mean no offense to accountants or bookkeepers. And if there actually is a Peyton Manning in the world of "assets=liabilities+capital", I'll be happy to stand corrected."
> 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.
> Unless the author is an accountant or otherwise close to the field (e.g., talkative friend is an accountant), this is a weak statement.
The author admits in the parenthetical paragraph that the accountant comparison may be weak (and welcomes corrections), but given that the target audience is most likely unaware of a Peyton Manning in the world of "assets=liabilities+capital" (if one exists) it still adequately gets the point across.
I know a CFO who tells me he's a natural accountant, in that he says he gets intuitions about numbers, can spot problems in spreadsheets straight away, and generally outperform his staff on snap judgements on numbers. He says he thinks he was born with it.
The author is right to doubt his statements about accountants. I know 10x accountants. They exist mostly because the bar for "competence" at the big four accounting firms is extremely low. This results in incredible variation among accountants.
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.
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?
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...
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.
+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)
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.
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.
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.
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.
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?)
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"
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?
>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).
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.
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.
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.
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.
> 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.
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.
Indeed. If software truly mirrors sports in this regard, we might want to think of elites as a once-per-generation thing.
But it is also interesting to consider the possibility that because we don't have a measuring system like sports, there is a Michael Jordan of software on the planet right now but nobody has ever heard of him/her.
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?
That's true. It still means there's hundreds of folk who qualified for the NBA at all, and thousands in the next level down, and all those are much much better than the local sports club players.
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.
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.
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.
[+] [-] azakai|11 years ago|reply
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|11 years ago|reply
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.
[+] [-] anindyabd|11 years ago|reply
The author admits as much:
"I might be on thin ice here. I need an example of a profession which does not have the same kind of enormous talent differentials that we see in sports. I could choose something like lawn mowing, but the comparison to software will work better with a field that typically requires college education. I mean no offense to accountants or bookkeepers. And if there actually is a Peyton Manning in the world of "assets=liabilities+capital", I'll be happy to stand corrected."
> 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.
Yes, exactly.
[+] [-] frostmatthew|11 years ago|reply
The author admits in the parenthetical paragraph that the accountant comparison may be weak (and welcomes corrections), but given that the target audience is most likely unaware of a Peyton Manning in the world of "assets=liabilities+capital" (if one exists) it still adequately gets the point across.
[+] [-] ericsink|11 years ago|reply
[+] [-] peteretep|11 years ago|reply
[+] [-] akanet|11 years ago|reply
[+] [-] calibraxis|11 years ago|reply
- 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-|11 years ago|reply
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|11 years ago|reply
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...
[+] [-] hogu|11 years ago|reply
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|11 years ago|reply
[+] [-] memracom|11 years ago|reply
[+] [-] samatman|11 years ago|reply
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|11 years ago|reply
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|11 years ago|reply
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|11 years ago|reply
[+] [-] tdk2fe|11 years ago|reply
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|11 years ago|reply
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|11 years ago|reply
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... (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%.
[+] [-] hemancuso|11 years ago|reply
[+] [-] hemancuso|11 years ago|reply
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|11 years ago|reply
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).
[+] [-] amix|11 years ago|reply
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|11 years ago|reply
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|11 years ago|reply
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|11 years ago|reply
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|11 years ago|reply
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.
[+] [-] vegedor|11 years ago|reply
[deleted]
[+] [-] sillysaurus3|11 years ago|reply
[+] [-] frostmatthew|11 years ago|reply
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.
[+] [-] ericsink|11 years ago|reply
But it is also interesting to consider the possibility that because we don't have a measuring system like sports, there is a Michael Jordan of software on the planet right now but nobody has ever heard of him/her.
[+] [-] ufmace|11 years ago|reply
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?
[+] [-] dsymonds|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] jamariusThomas|11 years ago|reply
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|11 years ago|reply
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|11 years ago|reply
Consider Rita Crundwell. She is, objectively speaking, 1000X worse than the typical average accountant.
http://www.wirepoints.com/how-the-largest-municipal-fraud-in...
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.
[+] [-] unknown|11 years ago|reply
[deleted]