Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> No programmer is worth more than any other

I don't think that's what's being said. IMHO the message is:

- No programmer is worth 10x the average. (though some might be worth 1/10 * the average).

- A high-functioning team is more important than a high-functioning individual, and these two are sometimes at odds if you give free rein to the "individualist ideologies".

Both are debatable and IMHO are often true, but "No programmer is worth more than any other", i.e. "all programmers have exactly the same worth" is not Hanselman's point. It is an corporate anti-pattern.

"each person has different strengths and weaknesses and is growing at their own rate" is recognised implicitly in a healthy working environment. Whether management gets it or not.



Both are debatable and IMHO are often true, but "No programmer is worth more than any other", i.e. "all programmers have exactly the same worth" is a straight-up straw man.

It's an exaggeration (I probably should have been more clear), not a straw man. Obviously big corporations have different levels of engineers, but many of them claim engineers top out at a certain point. Your claim that "no programmer is worth 10x the average" does imply this. If programmers max out at being only 3x better than average (or whatever the multiplier is), to get beyond that level one needs to be a manager.

Interestingly, tech companies, trading desks, and other places where technology really matters frequently don't view things this way.


> Your claim that "no programmer is worth 10x the average" does imply this

Those claims are debatable and often true, not always true. As opposed to straw men which aren't even debatable.

I've seen less actual 10* engineers and more high-functioning individualistic coders who maintain whole systems on their own, and at some point leave the company (most people change jobs at some point, but in their case it was accompanied by "nobody understands what I do" noises) whereupon it's unmaintainable (in one case, running on their dev machine against explicit instruction with no source or login details).

Your company may hit the jackpot and hire a budding Linus Torvalds or John Carmack, but the odds are bad and the guy who thinks he's a rockstar is more likely to be a good coder, but an egotistical person. Lots of actual musician rockstars are assholes too.

A well-functioning team is a much better bet. Lottery tickets are a poor investment.

I know that trading desks may disagree, but IMHO that's a defect of the stock-market gambling culture that they come from (where someone's guaranteed to beat the market this year. Find them and call them a genius!). I've worked in various tech companies, and that mindset is not universal there. It's not even welcome to me.


You have somehow re-defined software engineer performance as a mere function of company bottom-line, and ended up measuring performance of individual software developers by proxy of long-term company performance. There are two problems with it.

First, not all software engineers actually do commercially work on commercial software -- as a quick example, Con Kolivas, who is an anaesthesiologist by day and kernel hacker in spare time. Others may work on commerical software by themselves, without any external team or management involved; think Colin Percival. I would even wager a guess that some of the best software was created in a non-commercial way, say, Linux kernel -- at least the early versions of it.

Second, the impact any software engineer has on company bottom line is much affected by other aspects of a company. In a symbolic notation, you could say:

  BOTTOMLINE_IMPACT := RISK_MANAGEMENT(SALES(TEAM_MANAGEMENT(THE_SOFTWARE_DEVELOPER(EXISTING_CODEBASE)))).
Invoking the Amdahl's law -- even if you had a 10x SOFTWARE_DEVELOPER, performance of the whole system will be limited by the other factors. In my limited experience, the RISK_MANAGEMENT (of software development and use) part is the least understood one those days.


> You have somehow re-defined software engineer performance as a mere function of company bottom-line,

Absolutely.

While everything you say is true, building the right thing is as important as building the thing right. If you are working for a company, and what you do doesn't benefit that company, you might as well go home.


There is a difference between linear extrapolation and the butterfly effect. That seems to be the part that many miss. Startups (by necessity) show sensitive dependence on initial conditions. Mature companies (by design) do not.


Is it your belief that no "high-functioning individualistic coder who maintain[s] [a] whole system on their own" can also produce a maintainable system? If one can, that's your 10x coder right there.

I'm getting the impression that you believe 10x coders exist but merely dislike them.


By "high-functioning" I meant "good enough to be recognised as above average, but not 10 * good". My point about maintainability is that long-term benefit can be a lot less than it looks in the short term, when "individualistic" people who "know they're very good" are involved.

> If one can, that's your 10x coder right there

It can happen, it's just not likely enough to stake your business on. What I dislike is the cult of rockstar programmers. If there are 100 job ads for rockstars, are there really 500 actual rockstars showing up for those interviews? No. All this cult is doing is encouraging harmful egoism.

It's all in the first few lines of the article:

> Myth of the Rockstar Programmer: Calling out rockstars demotivates the team. Telling someone they are a rockstar may cause them to actually believe it


In the observation that kicked off the meme, a 10x engineer was someone who was 10x more productive than the least productive members of the team, not 10x more productive than the average.


Yeah. If the least productive member of the team is clueless and gets nothing done, then a competent programmer is literally infinitely more productive than that. It's not a very well-calibrated metric.


It's pretty typical, I'd say, for the least productive member of a set of 10 programmers to have negative productivity...


That is a rigged comparison but too often that matches reality. Everyone in the team works on massive Big Balls Of Mud in C#, ASP.NET. One guy in the team builds a new app in Python with Django in one tenth the time it would take to do it in C#/ASP.NET. Is this guy a rock star? Or is this a symptom of a toxic IT environment created by incompetent management who simply have no concept of "accidental complexity" and "technical debt".

So many enterprise IT shops are effectively bankrupt due to technical debt and the only thing propping them up is the cash influx of the enterprise that owns them. This affects J2EE shops just as much as .NET ones.

And the multicore future, end of Moore's law, has effectively made all of their software, both built software and purchased software, obsolete. It is not a pretty picture, but we will see this all play out over the next few years. That is far more important than chasing after the fantasy of the 10x white knight who will save you.


Exactly. Thanks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: