News for hackers. Stuff that matters.
Re:Qualities that I believe make the most difference in prog... by latch on Tuesday February 28, 2017 @07:44AM (#13753326)
I don't understand how anyone can say 10x programmers don't exist. There are programmers who DRAIN value from projects and companies. The most insidious I've dealt with are people who assure everyone their part is going to be done on time, but come the deadline, they have nothing.

I am today, a 10x better programmer than I was where I started. In terms of quality, complexity, efficiency, readability, maintainability, everything. I was paid too much when I started and/or not enough now!

Notch and Carmack are 1000x better game programmers than I am. Linus is a 1000x better file system and operating system programmer than me. Monty is a 1000x better database programmer than I am. DHH can build a website at least 10x faster than me and do it in a way that would contribute 100x more to the community than I could.

If you discard people with decades of experience. If you discard people who have specialized. If you discard the many geniuses in our field. And then if you start to make excuses at the other end, and if you narrow it to a specific set of tasks, with a specific set of complexity, then maybe there isn't a huge gap. But even then, I feel that if you apply yourself to that task for a decade or two, you'll find that you're a 10x better programmer than you used to be.

Re:Qualities that I believe make the most difference in prog... by kasey_junk on Tuesday February 28, 2017 @08:09AM (#13753444)
I don't doubt that 10x programmers exist. What I doubt is that anyone is a 10x programmer all the time. Whether or not someone is contributing 10x output to a project is such a complex number of things both attributable to the person, their environment, life factors, their coworkers etc.

I've seen programmers that were dead weight, moved to a different team and begin to flourish. I've seen programmers that on paper were the least valuable part of the team, do all the small things so well they were actually invaluable. I've been the developer that was considered a 10x dev but due to life stuff getting in the way I was probably a negative.

So sure, there are developers who are better than others, maybe even in non-linear ways, but so what? I think we can put lots of 1x developers into situations were they get 40% productivity improvements and that will go a lot further than chasing the long tails of 1000x devs.

Re:Qualities that I believe make the most difference in prog... by sheepmullet on Tuesday February 28, 2017 @08:52AM (#13753706)
> So sure, there are developers who are better than others, maybe even in non-linear ways, but so what?

The fastest way to kill high levels of productivity is to not value high levels of productivity.

Edit: And I believe there is a strong correlation between people who value high levels of productivity and people who can build highly productive work environments.

Re:Qualities that I believe make the most difference in prog... by kasey_junk on Tuesday February 28, 2017 @09:05AM (#13753802)
> The fastest way to kill high levels of productivity is to not value high levels of productivity.

I have not found that to be true. In my experience the fastest way to kill productivity is to measure it incorrectly & incentivize bad behavior chasing the wrong thing.

Everyone values productivity but virtually no one has a good way to measure it, at least not in software.

Re:Qualities that I believe make the most difference in prog... by logfromblammo on Tuesday February 28, 2017 @11:17AM (#13754828)
I want to point out that you and sheepmullet are not exactly in disagreement.

You can't value high productivity if you don't recognize it when you see it, so any workplace that satisfies your first criterion will also satisfy sheepmullet's.

I once worked at a place that used spreadsheet workbooks to track developer activity down to the second and used SLoC as a management metric. It was the least productive workplace I have ever seen. Paid for by ~= $7M per year of the US federal budget, and returning a CRUD app that was probably still outperformed by folders in a file cabinet. A year of work by 12 "developers" might replace one paper form.

High productivity was interpreted as a threat to the gravy train. In retrospect, I should not have suggested that everyone on the team read _Code Complete_, because it just painted a target on my back.

Re:Qualities that I believe make the most difference in prog... by sheepmullet on Tuesday February 28, 2017 @03:34PM (#13757575)
> In my experience the fastest way to kill productivity is to measure it incorrectly & incentivize bad behavior chasing the wrong thing.

In my experience this is almost always a management driven attempt to turn 1x engineers into 1.2x engineers.

Can you provide some examples where this is the norm in a company culture which focuses on building and enabling high performers?

Re:Qualities that I believe make the most difference in prog... by pawadu on Tuesday February 28, 2017 @08:20AM (#13753502)
a very insightful comment!

Maybe we should discuss the role of the managers in getting everyone closer to their 10x potential instead of talking about this mythical always-10x creature?

Re:Qualities that I believe make the most difference in prog... by alexandercrohde on Tuesday February 28, 2017 @08:23AM (#13753511)
I consider the notion that everyone has equal potential to be absurd. And I consider the notion that managers have much influence over an engineer's productivity to be absurd as well, other than potential downward pressure by being over-involved, inappropriate, distracting with meetings.
Re:Qualities that I believe make the most difference in prog... by yawz on Tuesday February 28, 2017 @08:29AM (#13753552)
We shouldn't underestimate the impact that happiness, motivation and sense of purpose have on our lives. In terms of potential, I believe we all have a much closer level than our outputs or outcomes would let us believe.
Re:Qualities that I believe make the most difference in prog... by pawadu on Tuesday February 28, 2017 @08:47AM (#13753672)
also, OP already hinted that people who were considered to be 0.1x showed significant improvement when moved to a different team, showing that the environment can have a huge effect on you.

Just think about your own carrier and people who helped you in the very beginning. Without them, would be the 10x guy you are today? What if your mentor was instead a -10x idiot?

Re:Qualities that I believe make the most difference in prog... by latch on Tuesday February 28, 2017 @08:27AM (#13753535)
A great comment. Thank you.

I don't think we're saying anything exclusive. From what I've seen, pretending the gap doesn't exist (for whatever reason), is a sure way to make sure things don't improve.

Re:Qualities that I believe make the most difference in prog... by mattmanser on Tuesday February 28, 2017 @08:29AM (#13753546)
A 10X programmer is supposed to be 10x the average, not 10x the people who drain value.

I've watched Notch program, and while he knows of lots of game related algos that I don't, he's not a magical snowflake and it'd take me no time at all to find those algos and implement them. There are huge swathes of the code he writes that I'd be comfortable writing at about the same speed.

From experience solving other complex problems in unrelated domains, it might take me 2 or 3 hours of googling, once, for particular problems. The worst ones a day or two. After I've done it once, it's not hard to either remember or find that code and remind myself.

It certainly wouldn't take me 1000s of hours as you seem to think it would.

I don't believe in 10x programmers. I don't agree with many things stated in this article.

What I believe is that most programmers have a complexity ceiling, where if the code goes past a certain level of complexity they are practically useless on that code base. Often they can just deal with bits of it, but try getting them to do a large scale change and they simply can't. They can't reason coherently about their changes. I think both natural talent and experience raises that ceiling, as does time spent on a particular code base (just for that code base).

And that's where I think the 10x myth comes from.

EDIT: I've even seen projects where the original authors couldn't make much more progress with an operational product, I call it 'coding themself into a corner'. They took the project past the point of the complexity that they could personally handle.

Re:Qualities that I believe make the most difference in prog... by bryanlarsen on Tuesday February 28, 2017 @08:34AM (#13753578)
10x average is the myth. According to Peopleware, it's 10x the worst and 2.5x average.
Re:Qualities that I believe make the most difference in prog... by QuantumGravy on Tuesday February 28, 2017 @09:23AM (#13753897)
Which is hardly as intimidating. If the 10x meme hadn't mutated into a mythical ten times the average developer, it wouldn't be worthy of generating so much clickbait. We'd also be able to hire sanely without freaking out about accidentally recruiting someone normal.
Re:Qualities that I believe make the most difference in prog... by bryanlarsen on Tuesday February 28, 2017 @09:45AM (#13754045)
+1 on the hiring sanely. A big part of the hype about the 10x programmer is that you don't pay 10x the salary: you get 10x the programmer for 2x the salary. But if they're only 2.5x programmers, that disconnect disappears.

Antirez's points about design are very relevant. Hiring a 10x CTO is probably very possible. But a 10x CTO can easily cost you 10x in salary, so again no disconnect.

Re:Qualities that I believe make the most difference in prog... by arctangent on Tuesday February 28, 2017 @09:19AM (#13753883)
This really ought to be pinned to the top of this HN thread.
Re:Qualities that I believe make the most difference in prog... by jamesmontalvo3 on Tuesday February 28, 2017 @08:38AM (#13753606)
+1 complexity ceiling
Re:Qualities that I believe make the most difference in prog... by Chris2048 on Tuesday February 28, 2017 @08:20AM (#13753501)
> I am today, a 10x better programmer than I was where I started

I think "10x dev" usually means 10x average - with the assumption that the average (or median?) is still fairly productive. Also, what metrics have you to conclude this? Do you actually measure your own productivity, or is this a subjective judgement?

Re:Qualities that I believe make the most difference in prog... by chimprich on Tuesday February 28, 2017 @08:42AM (#13753631)
> I am today, a 10x better programmer than I was where I started.

When discussing this, I think it's important to be aware of the strong psychological bias that skews our perception of how we have improved ourselves over time. I expect you are a better programmer but people tend to significantly overestimate the extent of improvement.

Re:Qualities that I believe make the most difference in prog... by mikulas_florek on Tuesday February 28, 2017 @08:27AM (#13753537)
Notch is known to be quite a bad programmer. Or do you consider him to be 1000x better programmer just because he wrote something which earned billions? In that case he's probably 10x better programmer than Carmack
Re:Qualities that I believe make the most difference in prog... by latch on Tuesday February 28, 2017 @08:54AM (#13753723)
To me, what's impressive about Notch is the speed at which he can put a decent prototype together. What's also impressive is the experience he's collected.

If I work at it, sure, in X years, maybe I can be in the same ballpark as him. But today, if you wanted a game prototype or full game built, Notch would be worth more than 10x me. Just think of the experience he's collected.

If we're talking in the abstract, sure, maybe he isn't 1000x the programmer I am. I'm not really sure there's a huge value in looking at it that way though.

Re:Qualities that I believe make the most difference in prog... by mikulas_florek on Tuesday February 28, 2017 @10:58AM (#13754660)
I do not think Notch have more programming experience than thousands of other programmers in the industry. He worked on games professionally only for 9 years. Minecraft is not that technologically great, it's just a fun game to play and very famous.
Re:Qualities that I believe make the most difference in prog... by squeaky-clean on Tuesday February 28, 2017 @12:34PM (#13755559)
> Minecraft is not that technologically great, it's just a fun game to play and very famous.

But that's the point. Kids aren't going out of their way to buy complex technical achievements. They want a fun game. They don't care if it's 30 mil lines of beautiful C or 200k lines of ugly Java.

> I do not think Notch have more programming experience than thousands of other programmers in the industry.

Where and how you use that experience matters. Notch regularly enters game jams where he makes and completes a game in 24-72 hours. How many people here could do that? How many "average" programmers could do that? Maybe I could knock out a simple web service with a REST API quicker than Notch, but if your goal is "I need a simple game prototype by the end of the weekend", Notch is definitely the 10x option.

Re:Qualities that I believe make the most difference in prog... by mikulas_florek on Tuesday February 28, 2017 @03:37PM (#13757594)
Yes, I guess you are right in a way. One can become 10x game jam programmer simply by attending a lot of game jams, but be average in normal gamedev job. And Notch might be one of those 10x game jam programmers, I do not know his work in this area.
Re:Qualities that I believe make the most difference in prog... by watwut on Tuesday February 28, 2017 @09:10AM (#13753835)
Minecraft was working and it was already quite big. Quite bad programmer would not achieve working Minecraft. Notch have his limits and made some decisions that did not scaled, but "quite bad programmer" is an overstatement.
Re:Qualities that I believe make the most difference in prog... by mikulas_florek on Tuesday February 28, 2017 @10:42AM (#13754509)
You are right, "quite bad programmer" is definitely an overstatement. I should have said average, or maybe a bit above average, but definitely not 10x.
Re:Qualities that I believe make the most difference in prog... by podcastguy on Tuesday February 28, 2017 @11:44AM (#13755040)
source ?
Re:Qualities that I believe make the most difference in prog... by mikulas_florek on Tuesday February 28, 2017 @01:03PM (#13755926)
"quite bad programmer" was a big overstatement, what I meant is that he is just not 10x, but only average. Or maybe he is, the whole 10x programmer is a blurry term.

Sources: 1. you can watch him code on youtube, just search for "notch coding" 2. 0 research papers/new technologies 3. Minecraft is an average game from programmer's POV

I am not saying that he's so bad I would not hire him, I'm just saying that making Minecraft does not make him 10x programmer.

Re:Qualities that I believe make the most difference in prog... by bryanrasmussen on Tuesday February 28, 2017 @07:52AM (#13753358)
just not making anything isn't the most insidious - the most insidious find ways to slow down whatever you're making as well as not doing anything themselves.
Re:Qualities that I believe make the most difference in prog... by xigency on Tuesday February 28, 2017 @09:18AM (#13753878)
Why would you want a 10X programmer when you could find an X^2 one? It is a pop psychology concept and it has no use.
Re:Qualities that I believe make the most difference in prog... by devmunchies on Tuesday February 28, 2017 @09:36AM (#13753974)
I think it assumes one person has a value of 1? so 1 x 10 is bigger than 1 ^ 2