Live data from Hacker News

There are no 10x developers, but there are 1/10 ones

techfounder.net

71–80 of 173 posts

Re: There are no 10x developers, but there are 1/10 ones

#71
post #49

These discussions are worse than useless. People with made-up numbers confront people with unreliable anecdotes. Productivity means, very simply, an average of X widgets per hour. Does such a measure even exist for developers? The discussion can apply to such varied situations as: - how fast can a developer add new features to a system they built themselves - how fast can they add features to a system designed by som…

> So I would venture that, for any pair of moderately experienced developers, it's almost always possible to find a pair of tasks such that one of them is twice (or even ten times) as fast as the other. I completely disagree. The FizzBuzz syndrome is very real: when I do developer screenings, the majority of candidates simply can't program even tiny problems. There's no way they're faster than anybody on my team at a…

The fizzbuzz syndrome is real alright. But someone failing fizzbuzz is not an indicator that they will always be incapable of development. It just means they are very junior and require training. Frighteningly for the West, Indian and Chinese companies appear to grok this and actually develop their employees. US and UK companies throw their hands up in empty self-satisfaction that their work is so intellectually difficult that people up to the challenge are impossible to find. The reality is probably that the corporate business model is flawed meaning they cannot afford the seniority of guy they need.

Re: There are no 10x developers, but there are 1/10 ones

#73

In my experience there are both. There are certainly a fair number of 1/10ers that manage to progress through seemingly normal career paths as programmers despite not being very good. I've worked with some, and most of you who are also developers probably have as well. But there are also for-real 10xers on top of the baseline. John Carmack, Jeff Dean, Fabrice Bellard, et al. If you define hyper-productive programmers…

I think you're spot on.

There are some _really_ bad programmers out there. Many are stuck in IT departments in non-technical companies, pounding out RPG, COBOL, BASIC, and other "maintenance" work that consists of writing reports. They take weeks doing it. It's a 9-5 job that they don't have to think about when they go home.

I sat in a kickoff meeting with a client's development staff. The staff had an average of eleven years of employment in the department. They were starting to define an SDLC for their organization and the topic of code reviews came up. One of the major points of contention for the day was the use of GOSUB over GOTO. (The pro-GOTO people were talking about a bug that smashed the stack, but didn't know it.)

It's safe to say these people are not reading "Hacker News", even in its current form, at 10pm. They read ESPN.com at work.

Even within this sort of environment, individual effectiveness follows the 1/10 to 10x distribution. There are developers who change one line of code, with a clear specification, and take entire facilities out of production for days. Others get in at 7am, leave at 7pm, and work on ripping out as much code as possible to create reusable modules of...BASIC. Most plod along in the middle.

Re: There are no 10x developers, but there are 1/10 ones

#74
"but the difference between developers who are proficient at what they do will never be a x10 multiplier - it will be closer to a variation of 30-40% in productivity"

If you look at individual productivity you're right, but the effect of the myhthical 10x developer is not just on their own work but on the work of others in the project. You could in some cases get a 10x at the project level. It's the difference between working smarter versus surface level efficiency such as better time management.

Re: There are no 10x developers, but there are 1/10 ones

#75
post #4

There is no offer of proof for the claim that there are no 10x developers past claiming "they've not seen it in practice" I have seen them with my own eyes. They are in fact, able to do things 10x faster than others. There are not a huge number of them, but they exist. At Google, folks like Jeff Dean and Sanjay Ghemawat are easily 10x more productive than "the baseline proficient engineer". Any proficient engineer wh…

For those who work inside Google, it's well worth it to look at Jeff & Sanjay's commit history and code review dashboard. They aren't actually all that much more productive in terms of code written than a decent SWE3 who knows his codebase.

The reason they have a reputation as rockstars is that they can apply this productivity to things that really matter; they're able to pick out the really important parts of the problem and then focus their efforts there, so that the end result ends up being much more impactful than what the SWE3 wrote. The SWE3 may spend his time writing a bunch of unit tests that catch bugs that wouldn't really have happened anyway, or migrating from one system to another that isn't really a large improvement, or going down an architectural dead end that'll just have to be rewritten later. Jeff or Sanjay (or any of the other folks operating at that level) will spend their time running a proposed API by clients to ensure it meets their needs, or measuring the performance of subsystems so they fully understand their building blocks, or mentally simulating the operation of the system before building it so they rapidly test out alternatives. They don't actually write more code than a junior developer (oftentimes, they write less), but the code they do write gives them more information, which makes them ensure that they write the right code.

I feel like this point needs to be stressed a whole lot more than it is, as there's a whole mythology that's grown up around 10x developers that's not all that helpful. In particular, people need to realize that these developers rapidly become 1x developers (or worse) if you don't let them make their own architectural choices - the reason they're excellent in the first place is because they know how to determine if certain work is going to be useless and avoid doing it in the first place. If you dictate that they do it anyway, they're going to be just as slow as any other developer.

Re: There are no 10x developers, but there are 1/10 ones

#76
post #4

There is no offer of proof for the claim that there are no 10x developers past claiming "they've not seen it in practice" I have seen them with my own eyes. They are in fact, able to do things 10x faster than others. There are not a huge number of them, but they exist. At Google, folks like Jeff Dean and Sanjay Ghemawat are easily 10x more productive than "the baseline proficient engineer". Any proficient engineer wh…

I can believe 10x. Though, when people start throwing around numbers like, "A great developer is literally 1,000x more productive than an average developer!" I raise an eyebrow.

Depending on what you mean by the average developer, 1000x is plausible. If you think in terms of reliability, it's the difference between a four nines engineer and a one nine. That guy who pushes untested code that brings the site down for a day vs. the woman who has to roll back her code once in five years because she made a fencepost error is an example of how such variances in developer "productivity" can be measured by an organization, especially one that does not consider itself a technology company.

Think of floor personnel in stores. There are some who start off several steps behind because they have a lot of sick days, come in right at the start of their shift (so end up starting "late"), and take dozens of smoke breaks throughout the day without clocking out. They may chisel a minute or two extra from every break even when the store is busy. On top of this, they may drag their way through their workday. You may need 3-5 of this person to do the job of one, then you need someone to manage them.

They're going to be significantly less productive than the scarily chipper go-getter who wants to be store director, gets in early to start work on time, skips breaks or takes them only when things are slow, is very upbeat and engages customers, and offers to take extra shifts to help out. You can leave this person alone in the store and they'll keep things moving along.

Measuring productivity is a difficult science. In some environments, it's screwing up less than other people. In some, it's a simple measure of something silly, such as function points. Scientific Management has seeded a lot of bad ideas in managers' minds about measuring the value of individual contributors.

Re: There are no 10x developers, but there are 1/10 ones

#77
Not sure what to make of this post.

I'm a 10x guy when it comes to Java/Python/Perl. And I'm also 1/5 guy when it comes to something like a executing a large C project[Which I'm currently working on in my spare time in the nights, totally apart from my day job]. Actually I was 1/10 guy a while back. I'm now at 1/5. I give it another 6 months while I be the 1x guy. And it will take some years when I will hit 10x mark when it comes to C.

However this 1/10, 1 or 10x metric is bull crap. There a lot of people who work slowly and steadily and then come to speed. There are a lot of people who learn by making mistakes, there are people people who take time figure out things and go at their own speed.

My metric of measuring is how to check how much committed the person is, are they deeply into it, are they serious about it, how much effort do they put in. To they persist on their effort despite problems? If they do, you have a winner. Doesn't matter if he can't understand the C syntax or takes a while.

Its worth while to give such candidate some time. Because sooner or later they turn out of be awesome.

Re: There are no 10x developers, but there are 1/10 ones

#78

I guess I don't get it. This Ph.D candidate was recommended by the previous CTO and was the one spearheading the framework transition...and then was fired after 2 weeks? But junior devs at the previous firm were given months to get up to speed?

Sometimes it's not about the person, it's about the team and environment. I've been both on the competent and not-so-competent sides, and the environment I'm working in made a ton of difference (note: it is a feedback loop, so mistakes and lack of delivery cause your environment to get tougher, and vice-versa).

Perhaps the guy felt he was going to get a raw deal and so was spending the few weeks looking for another job? Who knows. Lots of potential variables that might have turned an otherwise stellar coder into a quivering mess. The plural of anecdote != data.

Re: There are no 10x developers, but there are 1/10 ones

#79
post #42
post #22

"x10 developers" are, in fact, proficient developers, who are experienced with their stack and problem domain. Well, I'd say this is only true for your typical corporate entity, where their products are basically just web applications that represent a state machine using some sort of database store for persistence (which is... basically everything). By the time the company has achieved some size, there's enough proce…

Agile is the current day water fall model. I mean in spirit on in factual procedures. >>I could have easily been 10x more productive if I didn't have to endure four hour sprint planning meetings I completely understand this feeling. The problem is so plain and simple. There are teams that win because of heroics, they achieve something big. Those management types who lack the chops to be heroes simply try to turn hero…

> Agile is the current day water fall model. I mean in spirit on in factual procedures.

I think the problem is people sticking to a particular process, thinking it's the definition of "Agile". Rather than responding to change and the individuals in the team.

As our team was growing to the point where planning sessions were taking several hours we switched to just in time planning. A couple of developers could give a lightweight estimate of work at any point. Planning became just a 30min discussion with stakeholders to prioritise work, and we'd dig into implementation details as a team when we actually started working on something.

This would obviously not work for everyone. My point is that we responded to the problem and adapted our process to change in the team and environment. It's the 4th point on the agile manifesto http://agilemanifesto.org/

Retrospectives should give an opportunity for teams to do this if done right.

Post reply on HN