Ayn Rand Design Philosophy

Ayn: "I don't need comments because I write SelfDocumentingCode!"

Fred: "Not quite, one has to read the entire section to find out what it's actually doing. Comments can document such in one or two lines to avoid having to read the whole section to see if its relevant to a given maintenance task. It's like a newspaper headline: you don't have to read the whole story to know the gist of the article."

Ayn: "Then read faster, I can because I have FastEyes."

Fred: "You have to consider the average maintainer, not the fastest readers."

Ayn: "I refuse to cater to mediocrity! If they can't read fast, fire them!"

Fred: "That's not our decision, Ayn."

Ayn: "Well, it should be! I should be in charge of hiring because I'm smarter and faster."

Fred: "That's wishful thinking; we have to make coding decisions based on what's the most likely staffing."

Ayn: "Then you are enabling mediocrity! I refuse to do that. I will reward smarties, like myself, to improve the world! Slow readers be damned!"

Fred: "I don't think that's the approach those who pay us want us to take."

Ayn: "Screw 'em! I do things the right way; managers be damned if they enable losers! If we don't encourage fast readers, we'll get slow losers like you! Let Darwinism improve things: if they can't keep up, let them go into another field or wither and die."

Fred: "Your user interface designs have a reputation for being hard to use. Should we then fire you for being a mediocre UI designer by the same logic?"

Ayn: "Fire stupid users also! Smart users can figure out my UI's. If you cater to stupid users, you get MORE stupid users! Don't be an Enabler of Losers!"


I'd promote Ayn, give her a new top-of-the-line laptop/tablet PC and a corner office, and sack Fred.

Until she replaces you due to some unforeseen criteria you've failed in her eyes.

Not a chance. I'm her boss.

Aggressive people have ways to change that.

If you always think you can out asshole an asshole, someday you'll meet an asshole that is assholier than thou. You'll get cocky about your abilities like General Lee did and end up a part-time community college teacher, just like Lee did.


Of course, it would all be reasonable except for the fact that Ayn was an idiot and not the mastermind she believed herself to be. The problem has arisen many times in real life where an organization or country has found itself being led by someone who thinks disagreement is a sign that others simply are not smart enough to understand the "great plan". 2008 was just one of many examples of where this leads to, and much of that was down to Ayn's old boyfriend/pet Alan Greenspan.

By and large, I find that people who rail against being held back by mediocrity are usually just too dumb to understand the counter-arguments and too egotistical to self-criticize. --AnonymousDonor

Are you sure about that? Do you think Google (substitute your favorite SW company here) "makes coding decisions based on what's the most likely staffing"? Or do you think they endeavor to maintain a top-notch staff so they don't have to make such compromises?

That's a meaningless question and subtly reflects the Randian assumption that there is such a thing as "top-notch" where "top-notch" means "infallable". Nobody belongs to the elite that is imagined by her childish philosophy because intelligence simply doesn't work that way. Smart people make dumb choices all the time. The huge banking crisis of 2008 was marked by a common factor of "super-geniuses" being given the keys to the kingdom and allowed to get on with whatever they wanted because "only they really understood it". They didn't, they only thought they did and lacked the self-criticism needed to step back from the brink even when the rest of the world knew it was almost upon them. The scenario given above is a perfect starting point for this sort of disaster as Ayn asks Fred to remove all safeguards from the "top-notch" developer and allow her to drive the company over a cliff. --AnonymousDonor

["Top notch" does not mean "infallible" or even imply it. In this context, it means the best you can get as opposed to mediocre. In software development, "top notch" generally refers to the roughly 10% of developers who are clearly more productive and produce better code than the mediocre 90%. This has nothing whatsoever to do with the banking industry, or (perhaps) their counterparts in computing: a small percentage of programmers who regard themselves as "super-geniuses" and indeed may be quite bright, but for various reasons (arrogance being one of them) make terrible working programmers. Curiously, it seems a significant number of mediocre programmers and mediocre managers think the two groups -- the 10% who are highly productive, and the small group of unproductive "super-geniuses" -- are equivalent and equally bad. "Top notch" programmers and managers don't make that mistake.]

You got from saying that '"Top notch" does not mean "infallible" ' to '"Top notch" programmers and managers don't make that mistake.' in a single paragraph. This is exactly the problem being discussed: the belief that there are certain people who will not make xxx mistake because only mediocre people would make that mistake. There are certainly certain people who will make it less often, but taking oversight or business rules off some golden boy or girl, as Ayn is insisting in the example, is incredibly foolish. It's not about being mediocre, it's about being human and the conversation given in the scenario would itself be amble reason to fire Ayn immediately and start an audit of everything she's touched while in the company. --AnonymousDonor

[You said it yourself: "certain people ... will make [mistakes] less often". "Top notch" people make mistakes far less often than mediocre people. The Ayn character above is a caricature of the small percentage of arrogant and unproductive "super geniuses". However, allowing mediocrity to rule only breeds further mediocrity, which is fine if your company goals are to maintain a risk-free but pervasively-unimpressive degree of adequacy. Exceptional achievement often comes with exceptional risk, including that of explosive failure due to mistakes.]

{IT is Google's main line of business. For shops or departments where IT is considered a "side service", it may be more difficult to manage and obtain high-end staffing on a consistent basis such that designs have to cater to "average" maintainers. See also EconomicsOfAdvancedProgramming. The character above ignores management's wishes, at least behind their back, and tries to shape all policies based on their world view. -t}

{Regarding the banking crisis, at least Greenspan mostly admitted he screwed up in not recognizing in time the fact that the market was "shooting itself in the foot", something he didn't think was possible at the time.}


I've had an encounter along these lines recently:

Me: The email server IP address seems to change whenever the email server is replaced or moved to a different building. Can we have a domain name created for it as an alias so that we don't have to hunt down and change IP addresses in gajillion apps and scripts?

Server Admin (SA): It's a fair amount of overhead for us to create and track a domain name. It's trading your IP hunt time for our domain name tracking time and thus no net benefit.

Me: It's really that much time to create and track a domain name?

SA: Sometimes. Just find a quicker way to do mass find-and-replace of IP's. That's your issue, not mine. Go away and hone your find-and-replace skills and stop dumping your weakness in that area onto us. If you were properly educated in find-and-replace, you wouldn't be wasting my time even asking.

I concluded he's a bozo and stopped pressing the issue.


See also: SteveJobs


CategoryMethodology


JuneThirteen


EditText of this page (last edited November 17, 2014) or FindPage with title or text search