Live data from Hacker News

The 10x developer is not a myth (2013)

ybrikman.com

211–220 of 248 posts

Re: The 10x developer is not a myth (2013)

#211

Earlier quoted context omitted.

THIS: It's very much a novice mistake (one that I've made a dozen or so times, sigh) to think that you can jump straight to your "ideal" architecture without any of the steps or missteps along the way. Code evolves as the problem evolves and NEEDS to be adapted. Is impossible to foresee the future.

This approach generates regular expensive rewrites that a typically slightly more flexible and/ or modular solution would avoid. The key words are slightly. The trap is to overgeneralise or apply a technology or approach like a hammer without understanding its limitations. Out is impossible to foresee the future, but trivially easy to see current requirement and extrapolate a bit.

The problem is that you usually don't know in which direction that flexibility will be required.

I can't count the number of times I've "trivially extrapolated a bit", showed my boss or VP, and then gotten back "actually, we don't want to put any more effort into X. I appreciate how you went above-and-beyond, but priorities have changed, and it turns out we really want Y instead," followed by much handwringing when I go back to the code and find out that the flexibility and modularity that I built into the system expecting we'd do more of X next actually impedes progress in making it do Y.

Lest you think this is just bad management - I work for myself now, on a startup, and I have the same problem (or would had I not beaten this habit out of myself). Very often, I'll think "Woah, there's a much more elegant approach that will let me do Y and Z much better at relatively low engineering cost", and then I'll finish X, and put it in front of potential users, and they'll say "Actually, we don't care about Y and Z at all...why would we want them? We want to do A and B instead", where A and B take the product in a completely different direction from Y and Z.

There is a place for planning a little bit ahead, but that place is to plan to reach the next milestone as quickly as possible. You should never try to guess what the milestone beyond that is without checking in with users or management.

Re: The 10x developer is not a myth (2013)

#212
post #186

Earlier quoted context omitted.

10x productivity is fairly common when onboarding people to a project, though it's not quite so obvious because you'll give the new person small bugs or stories. And if someone is simply not productive, there might continue to be a 10x between team members, and the team keeps giving the unproductive person small or non-essential tasks, and not accounting for the support that member receives to finish that work. I've…

I have seen similar dynamic happen too and would put blame for the situation on the supposed 10x developer. The result is more likely a conswquence of missing communication about changes being done and badly split tasks/responsibilities. Good senior developer should know not to pull rugs from junior. He should not be rewriting juniors work that often. I mean seriously, demotivation happening this way means that the 1…

People can handle it better or worse, but honestly I think it's just a hard situation with no perfect answers. You're basically proposing adding process to manage the velocity of change.

A common situation, for example – some small bug is assigned to a less productive member of the team. The fast developer has to touch that area of the code for some other (often more critical) change. The fast developer sees the bug and just fixes it, or perhaps invalidates the need for that bug fix. Now the less productive member has their work undone. Claiming territory would slow down the fast developer, and also is demotivating for people who are motivated by increased code and product quality and want to bring that attitude to every bit of code they touch. You can run a smallish team with widespread improvements if you are in a situation where turnaround is fast. We're not going to run into too many conflicts if each of us finish our work and get it merged on a daily basis. But then you have that one person who takes a week on a change, and it doesn't go so well. Unless you put them in some codebase ghetto, where changes won't conflict because no one actually cares about the output.

How do you manage multiple kinds of vehicles on the road? Speed limits? Minimum speeds? Passing lanes? Semaphores? There's no one right answer, and all the answers are wrong from some perspective.

Re: The 10x developer is not a myth (2013)

#213
post #11

Another way to think about it : have you, from the time you started working in comp science, to now, become 10x better ? I don't think a lot of people with 10+ years of experience would say no ( if you do, it may be time to change company).

You could extend that logic: Since I couldn't code at some point in time and I can now, I've become infinitely better at it. Compared to someone that can't code I'm infinitely faster in theory. Do note that in reality, if someone that can't code needs to write code, he'll likely learn to code first. However, once he learns to write code, he is no longer someone that can't write code. The 10x programmer isn't 10 times…

You're right, my thought experienced only proved that it is possible for a developper to be 10x better than another one, with the same brain, only more experience.

About your project, i had the experience of building the exact same project ( an product demo ios app with a web backend and its content management interface). First project had to be done using "enterprise" practices, and the other was free. First one i did with a senior developer helping me on the web interface side, the other with an intern i had to explain what MVC was.

First project took 6 months, plus 2 more because of some guidelines i didn't respect first, plus a whole team of admins to handle the production side. It probably costed more than 100k to the company ( not counting the internal days spent in meetings). The internal team that was supposed to maintain the code wasn't able to do so.

The other took less than 3 months and costed something like 10k, including server cost (i used app engine). The intern made the project evolve for more than a year.

A 10x developper is not just able to produce more, it can prevent you from falling into traps that can simply lead your product to a complete failure, and your company to simply cease to exist.

Re: The 10x developer is not a myth (2013)

#214
post #190

Earlier quoted context omitted.

I feel like there's a difference with software though. Maybe not in degree, but in the constant factor. With e.g. metalworking, you can transfer the knowledge but training takes time. And building a new implementation of that knowledge takes time too. But in software the knowledge and implementation is transferred effectively instantly . You can nab software off the internet (transfer knowledge) and start running it…

Sure, but is this not the same as buying a hammer/fertilizer/metal press and using it for your own means? That's a quasi-instantaneous acquisition of the result of hundreds of thousands of years of innovation.

Electrons move a lot faster than molecules, you could invent X in the United States and a person in China could be using it tomorrow without any cumbersome shipping or cultural barriers to adaptation.

The hammer, fertilizer and the metal press are all part of our tool-making culture, ways to adopt nature to do our bidding and in the case of the hammer and the metal press to shape it by brute force. In contrast, something like TensorFlow is a tool of the mind which means you can encode it as bits and those will travel the world a lot faster than your average bulk goods or container ship every will.

So they are comparable at some level and totally incomparable at others.

Re: The 10x developer is not a myth (2013)

#215
post #190

Earlier quoted context omitted.

Sure, but is this not the same as buying a hammer/fertilizer/metal press and using it for your own means? That's a quasi-instantaneous acquisition of the result of hundreds of thousands of years of innovation.

Electrons move a lot faster than molecules, you could invent X in the United States and a person in China could be using it tomorrow without any cumbersome shipping or cultural barriers to adaptation. The hammer, fertilizer and the metal press are all part of our tool-making culture, ways to adopt nature to do our bidding and in the case of the hammer and the metal press to shape it by brute force. In contrast, somet…

Even if software didn't have tremendously higher cultural barriers for usage than manual equipment, the rapidity of exchange is a very small component of the exchange value for the means of software production (which is primarily hardware anyway). The value of both hardware and software is measurable by the amount of labor needed to produce them, so it's not even comparable--it's identical.

Re: The 10x developer is not a myth (2013)

#216
post #3

[...] They studied professional programmers with an average of 7 years' experience and found that the ratio of initial coding time between the best and worst programmers was about 20 to 1 I thought the perceived idea about the 10x developer was that he/she is 10x better than the average programmer, not the worst. So even this scientific study (from the 60s) says that there aren't 10x developers according to this defi…

The trouble with comparing the best to the worst is that there's really no floor for how bad a programmer can be. If an average programmer takes ten minutes to do a task, and a great one takes four, how long does an incompetent one take? Twenty minutes, thirty, an hour or two, never...?

Incompetent programmer will finish task in the same time as 10x but at the same time it will break production for 5h, losing 100h for company and another 5h for someone to fix it.

Re: The 10x developer is not a myth (2013)

#217
post #159

The reason for pushback on the idea 10x programmers isn't the real gradient of skill, it's the labor aspect. Lots of companies want to hire 10x without paying 10x dollars, and they've figured out that blowing smoke up the ass of young people (though it works better on young men than women) is a way to squeeze blood from that stone. Especially if you're working in a small company, you're going to hit a point when ther…

https://en.wikipedia.org/wiki/Appeal_to_consequences

This comment would be a lot more useful if you elucidated how you believe the parent poster committed this fallacy.

Re: The 10x developer is not a myth (2013)

#218
post #175

Earlier quoted context omitted.

The only time I've had improvements on that scale, it felt almost like cheating: the previous consulting company had spent ~8 months coding but the developers didn't understand functions or how to do a SQL WHERE constraint. Simply moving redundant code into an include file and getting rid off all of the cases where they were looping over some massive cross product looking for a record ID was good for ~4 orders of mag…

Whatever people thing of flashy trends, there is true value in pair programming. The unstructured spread of not just knowledge, but how to think about programming. The lack of true apprenticeship, fellowship, mentorship is an incredible disservice to our industry. The number of people who all need to rediscover the same lessons the hard way wastes so much programmer capital.

I completely agree, but I think it feels to business people like you're doubling their costs.

Re: The 10x developer is not a myth (2013)

#219
post #175

Earlier quoted context omitted.

> I've personally rewritten an app in less than a week that had two devs on it for over 6 months. Their deliverable didn't really work at all, even after the 1+ minute loading time To be fair, a lot of that six months was probably just nailing down the requirements. Your rewrite enjoyed having that design work already done. I'd argue that building applications is 90% design, 10% code. The code part can balloon to a g…

The only time I've had improvements on that scale, it felt almost like cheating: the previous consulting company had spent ~8 months coding but the developers didn't understand functions or how to do a SQL WHERE constraint. Simply moving redundant code into an include file and getting rid off all of the cases where they were looping over some massive cross product looking for a record ID was good for ~4 orders of mag…

> Given how many clients that company had, the main conclusion I draw is that as an industry focusing on helping the .1x people improve is more likely to make a noticeable difference than chasing the other end of the spectrum.

Do you think that's possible? More often than not the .1x people don't seem to care either.

Re: The 10x developer is not a myth (2013)

#220

The reason for pushback on the idea 10x programmers isn't the real gradient of skill, it's the labor aspect. Lots of companies want to hire 10x without paying 10x dollars, and they've figured out that blowing smoke up the ass of young people (though it works better on young men than women) is a way to squeeze blood from that stone. Especially if you're working in a small company, you're going to hit a point when ther…

I know programmers who write ten times the code with a hundred times the bugs, no testing and fundamentally broken structure...
Post reply on HN