Live data from Hacker News

Qualities that I believe make the most difference in programmers’ productivity

antirez.com

41–50 of 321 posts

Re: Qualities that I believe make the most difference in programmers’ productivity

#41
post #13

Everything from the original post sounds reasonable, you should absolutely read it. Just some random thoughts to add to it: * For most of my past clients, the skill / output of their programmers was not the bottleneck, even though they thought so. As long as something is not a bottleneck, there's not point in trying too hard to optimize it (since you can get better ROI somewhere else). * Software is a team effort. Im…

I have definitely been involved in teams where removing the "top programmer" made everybody more productive. Usually, these developers are "10x programmers", in the sense that they write 10x the lines of code as the rest of the team, it's just all bad.

Yes, I have seen that too, but that's not what I was talking about.

I have heard about a case where really the best programmer left, and now everybody else had more responsibility, had to learn about parts of the code they did not know previously, had to fix harder problems.

So, everybody else was getting better because the one person who could help with the hard stuff was not there anymore.

But I honestly can't remember where I heard that...

Re: Qualities that I believe make the most difference in programmers’ productivity

#42
post #3

All programmers have different output. How is it even a debate? Some people are more productive than others. Just like one novelist takes 10 years to finish his novel another writes 2 every year.

Also not unimportant, the quality of said novels. 2 shitty novels a year versus one praised novel every 10 years.

Actually, I think it's the inverse. Most 2/year novelists are professionals, and it shows. Stephen King consistently wrote at about that rate. 6 months full-time is a good amount of time for a professional writer: 1-2 months for writing, and then another year or so of polishing and editing that happens in parallel with other efforts.

10 year novelists are often amateurs. That novel your next door neighbour asked you to read? He's probably been working on it for years.

Even notoriously slow George R. R. Martin takes less than 10 years to write a novel.

Re: Qualities that I believe make the most difference in programmers’ productivity

#43
post #24

Taking myself as a 0.5x programmer, I have sadly encountered some 0.01x programmers. In fact it might be better to characterize them as -0.01x programmers, who I believe can work indefinitely without ever producing a working piece of software. Usually the best indicator of this is when the initial snaglist for a piece of work grows after the snags have been "completed". Then each round of fixes becomes a kind of Hydr…

I've also seen negative impact developers. If they did not code, we'd be closer to the finish line than if they did not. Works great if you pair them with a more senior developer who has the chutzpah to make an impact by deleting egregiously bad code. E.g. one of the best I know made a failing project succeed by literally deleting all unit tests (which in that case were not providing value at all).

Failing project or failing project tests?

Re: Qualities that I believe make the most difference in programmers’ productivity

#44
Provided your business will never need more than one and only one expert programmer who may not work in a team and this expert programmer will never leave your business and will always be trustworthy to do the right thing and they can support/maintain their own work in your production environment then a 10x programmer is a great idea.

Otherwise consider other human qualities such as communication skills, adaptability and critical thinking as more valuable than raw coding skill.

Re: Qualities that I believe make the most difference in programmers’ productivity

#45
post #23

To me programmer that knows devops is the 10x programmer in the right company.

As now you need 10 times more developers to maintain the over-engineered Docker, Consul, ELK [...] stack while the 10x developer finds another victim to play resume-SEO?

Re: Qualities that I believe make the most difference in programmers’ productivity

#46
10X? Steve Jobs said more than once in interviews that he saw a 200X difference among professional programmers.

Which I think is bull, of course. You can't quantify things like that. Some people are better than others, but any claim of 10X or 200X is missing a much bigger picture of how humans contribute to each other's work.

Re: Qualities that I believe make the most difference in programmers’ productivity

#47
I think the phenomenon of the 10x programmer does have analogues in physical work. I feel a big part of this is having the ambition to absorb the entire problem domain. A 10x programmer does not work on just one part of a problem, they work on the entire product, each subproblem having a solution that simply flows from the constraints of the entire system. It's this full comprehension that allows the programmer to work without costly analyzing pauses, which I bet is the root cause of the delays associated with the 'regular' programmer.

I think I experience this in my hobby projects, when I fully own the project even when it is fairly complex, every time I spend an hour or two on an evening I pump out a few features that on a big team project would feel like they could've cost weeks.

The physical analogue I offer which might be a little far fetched is the construction worker. I have been renovating a house, doing demolition, basic construction, electrical, plumbing, and hopefully in the future finishing of the house. I'm a total novice, so obviously it's going slow, but eventually I will have constructed (most of) an entire house. Because I do everything, there is little to no overhead (besides me having to learn everything) when switching between tasks, I own all of the project. I bet that someone who solo-renovates houses as a full time job is ridiculously productive, much more so than a general contractor managing a team of subcontractors.

Anyway, obviously this is all just hypothesizing based on anecdotes.

Re: Qualities that I believe make the most difference in programmers’ productivity

#48
In this thread: mostly people responding to the headline, not the actual content of the article.

There's some fantastic stuff in here about how great design is the key to increased productivity. For example:

"It is very important for a designer to recognize all the parts of a design that are not easy wins, that is, there is no proportionality between the effort and the advantages. A project that is executed in order to maximize the output, is going to focus exactly on the aspects that matter and that can be implemented in a reasonable amount of time. For example when designing Disque, a message broker, at some point I realized that by providing just best-effort ordering for the messages, all the other aspects of the project could be substantially improved: availability, query language and clients interaction, simplicity and performances."

redis itself is a masterpiece of pragmatic design - the feature set is brilliantly selected to make the most of what you can do with shared data structures exposed over a network. Let's talk about that.

Re: Qualities that I believe make the most difference in programmers’ productivity

#49
post #5

I thought the research that produced the legend of the 10x programmer showed that he was 10x better than the worst programmers who were still good enough to be employed, and only ~2.5x better than the "average" programmer.

Correct. In Peopleware, DeMarco and Lister write: Count on the best people outperforming the worst by about 10:1. Count on the best performer being about 2.5 times better than the median performer. Count on the half that are better-than-median performers outdoing the other half by more than 2:1. What nearly everyone who has read that remembers is the following: The best people outperform the average by 10x.

I don't have the book ready here, and it's been a long time since I last read it, but wasn't that the productivity for specific, limited and well-specified tasks? How about the productivity of tasks that only a subset of developers would be able to solve (which don't have to be that hard, like a bug-free binary search, which according to Bentley[1], eluded 90% of professional programmers)? How do you quantify the difference in performance for that?

[1] Programming Pearls. Jon Bentley (Column 4)

Re: Qualities that I believe make the most difference in programmers’ productivity

#50
post #40
post #24

Taking myself as a 0.5x programmer, I have sadly encountered some 0.01x programmers. In fact it might be better to characterize them as -0.01x programmers, who I believe can work indefinitely without ever producing a working piece of software. Usually the best indicator of this is when the initial snaglist for a piece of work grows after the snags have been "completed". Then each round of fixes becomes a kind of Hydr…

A -0.01x programmer would flip the working state of the codebase everytime he commits ;)

Here it's meant as a ratio of personal productivity, not a multiplier on the state of the codebase.
Post reply on HN