On Management and the Maginot Line
catb.org
catb.org
>it's going to remain viable in each individual application area for only so long as nobody finds those problems really interesting and nobody else finds any way to route around them
This is enough. Gimp hasn't become Photoshop since forever. Software scales so that many inefficient programmers can be used to create something marginally valuable that can be reproduced endlessly.
>She spends most of her time organizing the deployment of the other 95%,
Looking from the point of view of the 95%, it creates the opportunity to work on something that is valued in society. Instead of doing nothing and only being amazed by the 5%, it's possible for everybody to work on something and to participate.
I don't think programmers are fungible, there are differences in productivity, as you'd expect, but even the more-commonly-cited "10x" is bullshit.
Is there not a trivial counter-example: the programmer from an awful boot camp on his first day on the job vs., say, John Carmack.
from the text - it excludes the trivial counter-examples.
No-one expects complete newbies to be productive, or even capable of performing the task set. The comparison is always between normal, professional programmers and those "10x" alpha-male (they're always male) exceptional individuals who break all the rules (and therefore don't have to obey them).
I've worked with a few self-described "10x" programmers, and (like the few self-described "alpha male" guys I've worked with) they're always toxic assholes who don't understand how teams work. In every case the team would have worked better, faster, without them. But that's anecdata.
They got that why by making better choices. Many more than "10" x better choices. Could this apply to developers also?
> The comparison is always between normal, professional programmers
> and those "10x" alpha-male
The commonly-cited 10x difference is between the best and worst engineers, not best and average.The claim that 10x engineers exist is: Given a group of programmers who are capable of planning and executing some project, the most effective member will be approximately 10x "better" (at speed / correctness) than the least effective member.
I've been on both ends of that 10x, but have never experienced a situation where all the programmers were approximately the same. There's always someone who is clearly more capable, and someone who is not.
But then again, maybe the mediocre guys spend a whole lot of time looking for code that they can cut, paste and modify. That certainly used to happen with hardware circuits.
Given that most large projects don't make it to the finish line, someone who has consistently pushed projects over the finish line looks like an outlier to me. If your 10x gal (or guy) can choose a far better algorithm, that's not just 10x; that's maybe clear success vs total failure. (So you'll be dividing by zero if you want a ratio, there.)
To switch to the military context, it's funny how all the people I know who don't think there are any 10x Generals also firmly believe there are minus 10x Generals. Maybe even lots of them. And can somehow maintain both those beliefs at the same time. Both history and personal experience (not as a general) tells me that true competence is difficult to achieve and that most people are far too lazy to get there, or have personalities that block them.
Everybody thinks the have an above-average sense of humor and are amongst the best drivers, but they know that they aren't 10x for humor and driving. Maybe, to maintain their illusion, they have to say there are no 10x ers, cause then they don't look above average anymore.
> there are differences in productivity, as you'd expect, but even
> the more-commonly-cited "10x" is bullshit.
and then you continue with the quoted statement that the comparison is between "normal, professional programmers" and someone 10x better than that.However, that is not the standard meaning of "10x programmer". That term refers to someone 10x better than the worst programmer.
Management is the same way.
But even without a study, some people seem noticeably hyper-productive, beyond noise or luck. I like to work on personal projects, but if you tried to compare my productivity to your local Fabrice Bellard-class programmer however you want to measure it, I'll have to admit the ratio's probably pretty far from 1x.
I had just mentioned an old aphorism in a previous comment:
"It's not work, if you love what you do."
That's certainly where I'm at. That comment was part of a thread, where someone pointed out that they were making fun of me, on Reddit (Oh dear, whatever shall I do?), and where I had mentioned that I currently code every single day (like, 7 days a week), and learn something new, every day.
When I left my last company (after almost 27 years), I tried finding work, and was frozen out (because gray hair). I'm quite sure that I would have been able to get work, if I had been willing to put on a bib, and eat s**t. I just found that prospect unpalatable, and I had enough, so it was not a desperate situation.
I was forced into retirement.
Best thing that ever happened to me. After five years out of the rat race, I have no intention of being dragged back into the fracas.
Most of the misery of my work life was caused by bad management. I like to think that I was a good manager (my employees seemed to think so), but I was hobbled by corporate policy, and the dozens of terrible managers around and above me.
Since leaving, I have worked harder than I ever have, and I love it. I am used to getting up early, and accomplishing more, by 9AM, than I used to get done, all day in the office. I take breaks when I want. I'll even nap, from time to time, or catch up on the soaps, and I still bang out one hell of a lot of really high-Quality stuff, really, really quickly.
Of course, a lot of ship, is not fun. The fun part is usually the first 30%. The last 70% of a ship project is not so much fun.
I do it, anyway.
The reason is because I'm a completionist. I like to finish stuff. Makes me feel all warm, inside.
With that out of the way, I was pleasantly surprised to see him show up on LW[1] a while back.
- building software that's highly unappealing for anyone with even a trace of artistry in them. In particular, this includes SW that requires hundreds of different people to form consensus on hundreds of topics in which many have stakes, but few understand holistically.
- building SW that has a bus factor > 1, preferably >3, and have it for a much longer time than is humanely possible to expect from a contributor on any given project
Accordingly, there's an ecosystem of craftspeople who can reliably deliver on said demand. This ecosystem replaces enthusiasm with formal management. It is remarkably wasteful and uninspiring, yet also undoubtedly economically viable.
Central planning is the only way inter-nation wars make sense; bellum omnium contra omnes is just chaos. Bureaucracy (aka division of power, aka decision by consensus/committee) is the real problem. It becomes a turf war or a “not my responsibility” issue.
Edit: The push through the Ardennes was a gamble even the German army, and its Generals, were surprised to actually work.
Absolutely not. No-one ever expected the Maginot line to hold more than a few weeks.
It's goal was two-fold:
- Delay the invasion by a few weeks to give time for mobilization.
- Force Germany to go through Belgium again to ensure the involvement of the United Kingdom which was guaranteeing Belguim.
And both goals were achieved.> Another failure was that the massive gun turrets periodically embedded in the fortification were designed so that they couldn’t be rotated to point back toward France
That's absolutely not a failure, it's a lesson learned from WWI: https://en.wikipedia.org/wiki/Fort_Douaumont