Live data from Hacker News

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

techfounder.net

41–50 of 173 posts

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

#41
Of course there are developers that are vastly more productive and effective than others, this is true of every industry, not just developing. Consider two different developers. One designs and implements a highly useful feature which gives their product a key competitive edge in the market and does so in a way which is elegant, efficient, and robust. The other implements a poorly thought out feature that is a borderline bug even if implemented to spec, takes a long time implementing it, and eventually produces code that is hard to understand and full of defects, sucking up tons of developer time and slowing down development velocity as it soaks up resources every time it needs to be fixed.

The difference is not merely one of a 10x productivity imbalance, it's a huge effectiveness difference on the scale of thousands or even millions of times.

Looking for "10x productivity" developers is a side-show, it's treating software like factory work. Look for developers who can work more effectively. Developers who you can rely on to deliver a product that is absolutely better along every axis than the competition. Developers who won't just pump lines of code into the repo but who will actively work to improve the quality of the code base over time and increase the total development velocity of the company. Developers who will take the time to look at the internal processes and tools that the company uses and seek to improve them when necessary. Developers that will serve as strong mentors to other developers on the team, and improve their quality as well. And too developers who will be looked up to and admired and will serve as a reason for why other developers enjoy working at the company.

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

#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 heroics in a process.

So what they basically do is, watch a team win. Instead of realizing its the interesting/challenging nature of work combined with things like lesser distractions, strong deadlines and well aligned monetary incentives that count, they rater look into common set of patterns that they would do. The net result is they end with a really boring process.

If you think to be successful you have to do X, Y and Z steps you are doing it wrong. X, Y and Z are catalysts, enablers or at most methods to keep you sane while you pursue a higher purpose.

My latest irritation is manager types getting too obsessed with Unit testing, it reminds of XML and the way it was abused.

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

#43

I'm not a 10x programmer. Probably will never be. I do know of programmers who not only are slower in shipping, but are very bad at designing coherent programs and data structures. That's my main observation. It's not that I'm X times better, its that they are X times slower and make poor design choices. Why? My experience has shown that this tends to happen with people who stop keeping up to date and stop learning.…

I feel I am in the same boat as you. I belive myself to be a very average (possibly less so) developer.

Even believing that I cannot understand the amount of crap I have been forced to rewrite because it simply does not work.

Just recently a expensive contractor was brought in to write a series of simple CRUD screens using .NET MVC and KendoUI. It appeared to work, but if you even scratched the surface you quickly discovered it was almost totally broken. Further down it consisted of one big class as a service layer, raw SQL rather then LINQ, and a jumble of interdependent hell. I spat the dummy after 5 days of fixing bugs (trying to avoid changing too much) and scrubbed each page one after the over and ended up with something modular which I could actually support. It took me 2 weeks to scrub (80% of the codebase was touched or rewitten) what took this contractor 3 months to write.

I am with you. If that's normal (its not the first time this has happened to me) then what sort of dev am I if I know I am not a rockstar?

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

#44
I find this a challenging read. If the guy isn't cutting it in the position he is in, then its reasonable to ask him to move on, but I like to believe that everyone can improve, just as I believe not everyone wants to improve.

In my career I've seen developers who were 'average' become way above average after their boss left. This was due to the weird psychological box their manager had managed to get them pinned into.

A friend of mine who is now a VC told me about dogs which were put into a box where anything they did caused the floor to shock them. Eventually they just lay on the floor quivering. This sounds horrible and cruel (and it is) and sadly I've seen managers do the same things to their people. Every time they try to do something they get yelled at, and never with any guidance just a "don't do that again!" sort of shock from the floor. Eventually they can't do anything.

It is hard to rehabilitate those people but it is possible. It takes a bit of patience to get their confidence back up that they can in fact be excellent contributors. But boy is it painful. Both for them and their new manager.

The bottom line for me is that people work at different speeds and different levels. When their tasks are well matched to their strengths they do well. I once characterized two folks I knew as a 'bubble sort' kinda guy and an 'insertion sort' kinda guy. Strangely the bubble sort guy could write code really really quickly, and that was good because he took a long time to arrive at a solid solution. The insertion sort kinda guy worked more slowly and methodically but still got to the solution in about the same amount of time. If you looked at their commit histories you might thing the insertion sort kinda guy was a 1/10th developer but if you look at the milestone delivery rate you'd see he was just as productive as the bubble sort kinda guy. Not a particularly deep insight that people are different I know.

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

#45
post #39

Developers is one thing, but how about sysadmin work? I think I've seen it there, too. I looked at the tickets worked by a group of people from June 1 to December 15 of a year far in the past. The counts looked like this: 119 348 353 409 515 559 572 634 722 779 830 1004 1029 1169 1345 1487 2096 That's a total of 13970 tickets closed by 17 techs. If you split it evenly, that's 821 each, or about 5.8%. The lowest tech…

My wife worked with a guy who closed a ticket about closing tickets. If you're measured purely on the basis of number of tickets closed, you can game the system. Replaced users mouse, ticket closed. Or, upgraded network software on 300 machines, ticket closed. If someone is doing twice as many tickets as the next guy, I'd assume he is doing a lot of BS work, not that he's twice as fast.

Don't forget: open 300 tickets, one for each machine.

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

#46

For well-defined programming tasks, I could agree that there's a standard "professional" baseline, and that, at most, other developers could be twice as good/fast, at most. (And of course, there are the 1/10 developers too, and even the "negative" developers that do more harm than good.) But the 10x factor is real. But it comes into play, I think, more for architecture roles, or incredibly key algorithms, etc. It's a…

this is really well stated.

i've noticed the exact same thing. most programmers at the baseline level of proficiency take about the same amount of time to perform any particular, well specified task. its the stuff that isn't well specified where the huge differences come into effect.

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

#47
I'm rather tired of this, "developer productivity," rhetoric. It places software developers on a scale that allows micro-managers to perceive people as cogs in a machine. And I don't think that is fair given that we are all capable people. Each one of us will experience times when we are very productive and deeply inspired while other times we will struggle with completing trivial and meaningless tasks. To put ourselves in such absolute figures is disingenuous.

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

#48
I'd in no way claim I'm a 10x developer. Hell I question whether I am a 1x developer, but it's not really as simple as that.

First of all the notion that 10x doesn't exist is sorta crap. This may come across as pretty shocking but I don't dedicate every waking moment to development. There is an expectation from many people that being a developer is a 24/7 job and a lot of kids buy into that. If someone spends 10x the effort of me because they honestly feel their career is more important than the rest of their life, then I wouldn't be suprised if they were considerably more productive.

I like to think effort correlates to intelligence and skill but I guess it isn't that simple either. Many people learn certian things, while I choose to focus on others. In the end we may emerge somewhere in the middle but everyone has their strengths and weaknesses. Thus whether you're 10x more productive than me depends on the domain of knowledge which we're utilising.

Folks judge productivity differently. Sadly this often comes from a managment perspective which relates directly to the speed the thing they wanted first appears to them as usable. That's fairly logical from their point of view, but we all know it's folly. Personally I live in a world of duracell bunnies coding up a mess without any thought of security of maintainability. More often than not management tend to believe they're more productive but in reality they just make everyones life harder in the long run.

Finally it comes down to motivation. I'm working a crud app for day rates, I'm in no rush. That's not to say I draw it out longer than it should take but I work my hours at a reasonable pace then I go home. Give me an interesting problem and maybe a vested interesting in completing it and I'll work harder and work on it at home. Suddenly I may be that 10x developer you were talking about afterall, though I'm probably not going to spend my entire life like that.

Personally I think it's pretty silly to propagate the myth that people are useless if they aren't as quick as others. Sure the scale is huge, but the real problem is people aren't rewarded based on their value but based on crappy metrics like "market rates". Next up is even if management were willing to reward based on value, it's actually very difficult for them to do in the vast majority of cases.

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

#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 somebody else

- how fast do they fix simple bugs

- how fast do they find horribly complicated bugs

- how fast can they architect a reliable, multithreaded backend

- how fast can they work with program management to design a good UI

etc. etc. etc.

These are often conflicting requirements. People who develop a very elaborate personal coding style will be fast on single projects, but slow to work with other people's code. Those who are methodical and question all assumptions will find hard bugs much sooner, but waste time on simple bugs. Those who can construct elaborate systems in their head often have trouble tweaking hundreds of little CSS details for a single ticket. 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. Let's not even bring up how much the incentive structure can vary, even among people in the same department.

The example that the article brings is terribly vague and uninstructive. Is that guy, for his whole life, going to be a "1/10 developer"? We never get an idea why he was slow in the first place. Was he lazy? incompetent? concentrating on his studies instead? not motivated by the incentive structure? risk averse because breaking the system carried harsher personal consequences than developing it excruciatingly slowly? The author doesn't even figure out the roots of the problem in the one case he's familiar with, and purports to give advice to everyone else based on it...

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

#50

I'm not a 10x programmer. Probably will never be. I do know of programmers who not only are slower in shipping, but are very bad at designing coherent programs and data structures. That's my main observation. It's not that I'm X times better, its that they are X times slower and make poor design choices. Why? My experience has shown that this tends to happen with people who stop keeping up to date and stop learning.…

> Every data structure inside the system is handled by reading and slicing around the contents of the text files.

This is quite common for mainframe systems, only because many mainframe applications are written in COBOL and that is the file format COBOL prefers.

Post reply on HN