Live data from Hacker News

The Myth of the Rockstar Programmer

hanselman.com

71–80 of 89 posts

Re: The Myth of the Rockstar Programmer

#71
My theory is that the time taken for an engineer to solve a problem is a hockey-stick/exponential curve based on the complexity, something like __/

The key thing is the knee of the curve is in a different position for different engineers. Basically, up to a certain point, you can crank through a problem pretty well. But once problems reach a certain level of complexity you'll slow down. And at a higher level of complexity, you're just going to go in circles and not going to get anywhere.

The point of a "rockstar" is not that they are 10x faster on the flat part, but their curve is shifted so they are on the flat part while another engineer would be on the exponential part. In other words "rockstar" depends on the problem. Knuth is unlikely to build a basic CRUD application 10x faster than an average HN programmer, but if the problem is building a typography system, he's probably 100x as productive. Likewise, if I had to build a Javascript compiler engine, a self-driving car, Minecraft, or a translation system, I would be stuck around 0% productivity while a "rockstar" would deliver. But "rockstar" depends on the project: on a simpler project, many more people would be able to deliver well.

TL;DR: for a particular project, people who can do that project well are 100x more productive than people who are overwhelmed by the project. But this line moves depending on the complexity of the project.

Re: The Myth of the Rockstar Programmer

#72
post #68
post #51

Earlier quoted context omitted.

With so much mention of 10x on HN I'm surprised Grant Cardone isn't on here or at tech conferences selling his book. That brings me to my point, a car salesman selling 10 times as much cars as other salesmen is clearly 10x, how do you determine that for a developer? To me it seems like there are so many variables that such a distinction would always be incorrect.

When I see a developer that can work on a complex product alone in short time and almost no bugs, well this a developer in the 10X league.

Sure, if the idea is to make the 10 in 10x meaningless. My point was that saying something is 10X implies that it is quantifiable. That developer can be assumed to be above average but you don't know that he's 10x. Maybe he worked in the same domain for a long time or did exactly the same work before. I agree that if someone works in the same domain for a long time eventually they will be an expert but as a developer saying that he/she is 10x doesn't mean much. If I write social networks for 10 years then I can appear to be 10x for all things social but how productive am I outside of that? I guess the more appropriate discussion is what is a developer 10x in.

Re: The Myth of the Rockstar Programmer

#73
post #66

In the same vain I responded to Shanley's post: this is missing one type of engineer that is common in our field: * Average Engineer - Creates complex problems in response to simple problems... This is where the desire for rockstars / 10x engineers comes from. One person to clean up the mess made by 10 others.

Vain should be vein like vein or ore or artery.

[deleted]

Re: The Myth of the Rockstar Programmer

#74
post #48

> Reality is a normal distribution curve. Lots of good average senior developers, some amazing outliers and some junior folks with potential. (and some folks that suck.) Strange, but this doesn't seem to be the case for me, or at least the people that I've had to interview and work with. I've run into far too many developers who have no business installing apache much less making anything of use for a client. I don't…

> As a sidenote, I find this obnoxious: > "I hate Quora, so I'll just steal their content and post it here."

It's not Quora's content. Quora's TOS explicitly states that users retain ownership over their contributions. Quora only gets a non-exclusive license.

Scott Hanselman works for Microsoft. Nade Waddoups works for Microsoft, wrote an internal document at Microsoft, and then posted part of it to Quora as an answer.

Therefore: The copyright is held not by Quora, or even by Nate Waddoups -- but by Microsoft. And since Scott Hanselman is performing a PR function at Microsoft through his blogging, he has the right to post that content on his blog.

Re: The Myth of the Rockstar Programmer

#75
post #9
post #7

Allow me to retort: Fabrice Bellard, Linus Torvalds, John Carmack.

Pity...go to any job board, you'll see 50 of them needed on any given day Those aren't the "rock stars" hiring companies are talking about. They don't need & couldn't afford Linus. Rock star is just a label they slap onto the job description.

>Rock star is just a label they slap onto the job description ...

... often to arouse the ego of possible candidates.

I can't imagine why any recruiter wouldn't see the deliberate attempt at patronising candidates when they advertise "Looking for a Rock star programmer." Oh, hang on ... I know why: appealing to and strongly arousing ego is one of the quickest way to get responses.

The team matters more than the individual. Hiring with overt calls to rock stars is surely going to damage communication and collaboration with the current team.

Re: The Myth of the Rockstar Programmer

#76
post #23

It doesn't take a "rockstar" or a "ninja" or "guru" or what-have-you to be a significantly above average developer. Often the biggest hindrance to product quality (including performance, reliability, and usability) as well as to development velocity is technical debt. Having a team member who consistently churns out lots of new stuff of excellent quality is great but not nearly as important as someone who is sensitiv…

Its the guys who layout the overall design, making it is easily extensible and not prone technical debt who make a software project. They may not be the most productive in producing code, but they allow others to be so. It's usually the same guy going over others peoples code, and reducing technical debt.

Another thing, a lot of the most important work in development is relatively unglamorous. Most of the time it's better to have a craftsman at work than a diva steering your product in the wrong direction for the sake of looking cool in the moment.

Re: The Myth of the Rockstar Programmer

#77
post #5

He's empirically wrong because I've worked with 10x developers. A few years ago I worked with a guy there whose output, productivity, and smart solutions combined with godlike C++ coding ability made him probably 100x more effective than anyone else in the place. This was in the front office at Goldman Sachs, so the rest of us weren't completely useless. He was just in a different league though. I have also worked wi…

I understand where you're coming from -- there are some truly good engineers out there. But I think he's right too. He's essentially arguing about the true meaning of the metric. Of course there are engineers who can spot bugs at 1/100th the time as an arbitrary engineer. Or fixes things 10x faster (being familiar with the code base certainly helps). But to have the literal productive capacity of 10 people? That's mu…

It's rare that anyone tries to replace 10 ordinary engineers with one 10xer. It's common, however, to try to replace one 10xer with 10 ordinary engineers, and find that they can't cope with the challenges.

Re: The Myth of the Rockstar Programmer

#78
post #20

In the same vain I responded to Shanley's post: this is missing one type of engineer that is common in our field: * Average Engineer - Creates complex problems in response to simple problems... This is where the desire for rockstars / 10x engineers comes from. One person to clean up the mess made by 10 others.

That's exactly what I thought as well. I'd very much prefer having the 10x engineer meme replaced by that of the 0.1x engineer: the one that gets the same task done with 10% of the code and effort. The times I've felt by far most valuable is when I found a way to make that multi-month project simply obsolete by just changing a couple hundred lines of code in an unexpected place.

See also: http://folklore.org/StoryView.py?story=Negative_2000_Lines_O...:

"In early 1982, the Lisa software team was trying to buckle down for the big push to ship the software within the next six months. Some of the managers decided that it would be a good idea to track the progress of each individual engineer in terms of the amount of code that they wrote from week to week. They devised a form that each engineer was required to submit every Friday, which included a field for the number of lines of code that were written that week.

Bill Atkinson, the author of Quickdraw and the main user interface designer, who was by far the most important Lisa implementor, thought that lines of code was a silly measure of software productivity. He thought his goal was to write as small and fast a program as possible, and that the lines of code metric only encouraged writing sloppy, bloated, broken code.

He recently was working on optimizing Quickdraw's region calculation machinery, and had completely rewritten the region engine using a simpler, more general algorithm which, after some tweaking, made region operations almost six times faster. As a by-product, the rewrite also saved around 2,000 lines of code.

He was just putting the finishing touches on the optimization when it was time to fill out the management form for the first time. When he got to the lines of code part, he thought about it for a second, and then wrote in the number: -2000.

I'm not sure how the managers reacted to that, but I do know that after a couple more weeks, they stopped asking Bill to fill out the form, and he gladly complied."

Re: The Myth of the Rockstar Programmer

#79

Earlier quoted context omitted.

There also seems to be some ideological motivation for claiming rockstars don't exist. The existence of rockstars provides fodder for individualist ideologies. Many people are more collectivist, so therefore feel the need to dispute the existence of rockstars. This is a little bit evident here - you need a rockstar team, with diversity . It's far more evident in the last post on this same topic. (Not quite a dupe, bu…

> 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 "N…

Exactly. Thanks.

Re: The Myth of the Rockstar Programmer

#80
post #59
post #52

Earlier quoted context omitted.

+1. When you're concerned with ensuring every single developer can read, understand, and rewrite your code, you don't have a place for the best; because the average and worst devs won't grasp what the best does.

Often it is quite the opposite: when the best is finished the result is smaller and much more readable. I am allowed to be opinionated, I have seen both forms in well paid consultant jobs.

The best avoid tangled, excessively-layered code, but often are inclined to use reflection, multi-indirection, or other tools that mediocre programmers may not understand.
Post reply on HN