Earlier quoted context omitted.
I've been reading antirez's writing for a long time and he's been consistently getting stronger as a writer of English. I think this is some of his best writing yet in terms of grammar and use of the language.
Excuse me if I'll print your comment and pin it in front of my desk. It means I'm not hopeless :-)
Qualities that I believe make the most difference in programmers’ productivity
81–90 of 321 posts
Re: Qualities that I believe make the most difference in programmers’ productivity
#82Earlier quoted context omitted.
Maybe this is the distinction that throws off these "10x programmer" threads: the idea that a 10x programmer produces ten times the amount of code in a given time. The best programmers I have worked with frequently replace thousands of lines of code with hundreds. Programmer productivity is about value delivered, not lines of code.
Exactly. Years ago, one company I was at proposed we start a bonus plan based on lines of code. I wrote a script that inspected the RCS commits (it was years ago) and generated a report that showed that most of our best developers were net negative lines of code.
Re: Qualities that I believe make the most difference in programmers’ productivity
#83In 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…
Re: Qualities that I believe make the most difference in programmers’ productivity
#84Often when you find someone who's really good at what they do, they're the type of person who loves their work, and they've managed to find employment in an environment that suits them. The two are of course mutually helpful.
Also keep in mind it can be very hard to find more than one space for such a person. It's like how certain soccer teams are built around a particular star player; everyone else plays to suit that guy, and it would be hard to fit a clone if you had one. Others may well be suited to a star role, but happen not to have landed the role. Watch the Tour de France to see what happens when the lieutenant steps up to the captaincy. I can often be dramatic.
Re: Qualities that I believe make the most difference in programmers’ productivity
#85Taking 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).
Code? I know people that have caused big projects to fail by just showing up at the meetings. The amount of damage a -10x idiot can do to a project is just mind boggling.
Here is my unsolicited advice to young players: if you end up in a project with a -1x (or worse) guy who is also the darling of the PM or CEO: no matter how hard you work you cannot save this project, don't wait for the shit to hit the fan, give them your two week notice today!
Re: Qualities that I believe make the most difference in programmers’ productivity
#86This bit articulates what I consider to be the main advantage of experience in programmers: > Often complexity is generated when there is no willingness to recognized that a non fundamental goal of a project is accounting for a very large amount of design complexity, or is making another more important goal very hard to reach, because there is a design tension among a fundamental feature and a non fundamental one. It…
One of the biggest problems in this type of project is that many requirements are unknown. Yes, the new system must do what the old system did, but no one can write down exactly what that is.
Re: Qualities that I believe make the most difference in programmers’ productivity
#87Re: Qualities that I believe make the most difference in programmers’ productivity
#88Earlier quoted context omitted.
Come on, Antirez is a x10 programmer, he coded one of the most brillant software of the last decade. It's so well done I use it as an example in my trainings, making people compile it to stop being afraid of building from source because I know it never fails and it's so damn simple. And programmer reading anything on his blog, or anything on HN for that matter, is not an average programmer anyway. The simple fact you…
While I agree with almost everything you wrote - I found that original post awesome and there are many great lessons in it - I don't see what this has to do with my comment. Also, I don't get what I seemingly did not realize (mostly helping clients with legacy code on legacy platforms in legacy organizations to improve their quality and teamwork), or why this is disrespectful...
Of course it was not. If you are antirez, you will mostly work with people on projects which, by nature, will involve talented programmers.
> Improving how the team works together / how work flows through the system probably has a bigger impact than raw programmer output
But only a person good enough can do that. This is catch-22
> Improving the quality of your software (minimizing defects and rework) will improve the output of everyone in the team
Yes, but it requires a really good dev to create and execute a plan to progressively enhance it. Instead of doing another from scratch which will also fail.
> I have heard of cases where removing the "top programmer" from a team made the whole team more productive
Yeah I heard of people stopping vegetables and living fine as well. And "top programmer" "top dev". You can be very good at software and terrible with people.
My point is, the entire article is build on assumptions from the "top programmer" perspective.
All that goes to the water when your team is composed of:
- a senor waiting for retirement
- an apprentice fresh out of a community college
- a new dad who needs money and hates his job
- a legacy spaghetti code project coded by 3 different teams 10 years ago
- and no 10x programmer to be found
It will work. But say goodbye to best practices, and all the rules Antirez is stating.
Re: Qualities that I believe make the most difference in programmers’ productivity
#89I 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,…
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 programmers’ productivity
#90Fixed width font on a blog? Is it still 1983 out there somewhere? Maybe you'd be 10x more productive if it didn't hurt everyone's eyes to read your writing.