Cool vs. powerful

Early this morning, this article crossed my transom: Why I Won’t Run Another Startup. It’s short, and it’s excellent. Go read it.

It brought to mind an interesting social dynamic that, I think, is highly relevant to people trying to position themselves in an economy that is increasingly fluid, but still respects many of the old rules. In my mind, the key quote is here, and it agrees with my own personal experience in and around startups, having been on both sides of the purchasing discussion:

Every office-bound exec wants to love a startup. Like a pet. But no one wants to buy from a startup. Especially big companies. Big companies want to buy from big, stable businesses. They want to trust that you’ll still be around in a few years. And their people need to feel you’re a familiar name.

Startups are cool. Someone who is putting his reputation and years of emotional and financial investment at risk, for gold or glory, conforms to a charismatic archetype. That “cool” status might beget power– but usually not. People like scrappy underdogs, but they don’t trust them. Being “scrappy” or “lean” makes you cute, and it might inspire in others a mild desire to protect you, but you don’t have power until people want you to protect them.


One of the more obvious examples of “cool versus powerful” is in an urban nightclub scene, which has its own intriguing sociology. Nightclub and party scenes are staunchly elitist and hierarchical but, at the same time, eager to flout the mainstream concept of social status. A 47-year-old corporate executive worth $75 million might be turned away at the door, while a 21-year-old male model gets in because he knows the promoter. Casinos have a similar dynamic: by design, pure randomness (except in poker and, to a degree, in blackjack) can pull you out to be either a gloating winner or a stupendous loser for the night. The gods of the dice are egalitarian with regard to the “real world”. People are attracted to both of these scene because they have definitions of cool that are often contrary to those of mainstream, “square”, society.

On Saturday night at the club, old status norms are inverted or ignored. In a reversal of uncool corporate patriarchy, the young outrank the old, women outrank men, and having friends who are club promoters matters more than having friends who are hiring managers or investors. Such is “cool”. In fact, cool may be fickle, but it can make a great deal of money while it lasts. Most cool people will be poor, unable either to bottle their own lightning or to exploit others’ electricity in a useful way, but a few who open the right nightclub in the right spot will make millions. Overtly trying to make money (given that most cool people, although being middle- to upper-middle-class in native socioeconomic status, have very little cash on hand due to youth and underemployment) is deliberately uncool. In fact, most of the money made in the cool industry is from uncool people who want in, e.g. investment bankers whose only hope of entry is to drop $750 for a $20 bottle of vodka (“bottle service”).

Cool rarely leads to meaningful social status, and it doesn’t last. I’m writing this at 6:30 on a Wednesday morning in Chicago; at this exact moment and place, who knows which club promoter in L.A. means nothing. (I’m also a 31-year-old married man. Besides, if I did care to try for cool– I wasn’t so successful when I was the right age for it– I’d tell the U.S. nightlife to fuck itself and head for Budapest’s ruin pubs; but that’s another story.) Cool rarely lasts after the age of 30, an age at which people are just starting to have actual power. And while one of the most powerful things (in terms of having a long-term effect on humanity) one can do is to contribute to posterity either as a parent or a teacher, both roles are decidedly uncool.

Open-plan offices

One of my least favorite office trends is that toward cramped, noisy spaces: the open-plan office. Somehow, the Wolf of Wall Street work environment became the coolest layout in the working world. It’s ridiculously ineffective: it causes people to be sicker and less productive, and while the open-plan layout is sold as being “collaborative”, it actually turns adversarial pretty quickly. It’s a recurring 9-hour economy class plane ride to nowhere, which is not exactly the best theater for human relationships or camaraderie. On an airplane, people just want their pills or booze to kick in so they can forget their physical discomfort for long enough to sleep, and they’re so cranky that even the flight attendant offering free beverages annoys them; in an office, they just want to put their headphones on and get something the fuck done.

Why is an open-plan office “cool”? Those who tend to view management in the worst possible light will say that open-plan is about surveillance, control, and ego-fulfillment for the bosses. Lackeys who trust management implicitly actually believe the nonsense about these spaces being “collaborative”. Neither is correct. The open-plan monster is actually about marketing. “Scrappy” startups have to sell themselves constantly to investors and clients. The actual getting done of work is quite subtle. Show me a quiet workplace where the median age is 45, people have offices with doors, half the staff are women, and there are mathematical scribblings on the whiteboards, and you’ve shown me a place where a lot’s getting done, but it doesn’t look productive from the “pattern matching” viewpoint of a SillyCon Valley venture capitalist. At 10:30 on a random Tuesday, all I’m going to see are people (old people! women with pictures of kids on their desks! people who leave at 5:30!) typing abstract symbols into computers. Are they writing formal verification software that will save lives… or are they playing some complicated text adventure game that happens to run in emacs and just look like Haskell code? If I’m an average VC, I won’t have a clue. Show me a typical open-plan startup office, and it immediately looks frantically busy, even if little’s getting done.

Being in an open-plan office makes you cool but it lowers your social status. There’s no contradiction there, because coolness and power often contradict. It makes you cool because it shows that you’re young and adaptable to the startup’s ravenous appetite for attractiveness– to investors and clients. The company’s not established or trusted yet, so it needs to strike a powerful image, and if you work in a trading-floor environment (for 1/7th of what your trading counterpart is paid in order to compensate for that environment) then you’re doing your part to create that image. You’re pitching in to the startup’s overarching need to market itself; you’re a team-player. (If you want to get actual work done, do it before 10:00 or after 5:00.) By accepting the otherwise degrading work situation of being visible from behind, you’re part of what makes that “scrappy underdog” an emotional favorite: the cool factor.

All of that said, people with status and power avoid visibility into many aspects of their work. Always. This is visible even in physical position. Even in an “egalitarian” open-plan office, the higher status people will, over time as seats shuffle, be less visible from behind than the peons. A newly-hired VP might face undesirable lines of sight in his first six months, but after a couple years, he’ll be in the row with a wall at his back.

One thing that I have learned is that it’s best if no one knows how hard you’re working. I average about 50 hours per week but, occasionally, I slack and put in a 3-hour day. Other times, I throw down and work 14-hour days (much of that at home). I prefer that no one know which is happening at the time. I certainly don’t want to be perceived as the hardest-working person in the office (low status) or the least hard-working (low commitment). Being “the Office X” for any X is undesirable; it’s OK to be liberal (or conservative, or Christian, or atheist, or feminist) and known for it, but you don’t want to be the Office Liberal, or the Office Conservative, or the Office Christian, or the Office Atheist, or the Office Feminist. Likewise, you never want to be the Office Slacker or the Office Workhorse. So on the rare day that I do need to slack, I up-moderate the appearance of working hard and do a couple tasks on my secret backlog of things that look hard but only take a couple minutes; and when I am working harder than anyone else, I down-moderate that appearance so that whatever I achieve seems more effortless than it actually was, because visible sacrifice or extreme effort might make one a “team player” but it’s a low-status move. That said, even if my work effort were exactly socially optimal (75th percentile in a typical startup, or 50 hours per week) I would still want uncertainty about how much I’m working. Let’s say that 10 hours per day is the socially optimal work effort and I’m working exactly that. Still, if anyone else knows that I’m working exactly that much, then I utterly lose, status wise, compared to the “wizard” who works the exact same amount but has completely avoided visibility into his work and might be working 3 hours per day and might be working 17. Being “pinpointed”, even if you’re at the exact right spot, makes you a loser. That’s why I hate “Agile” regimes that are designed to pinpoint people. Ask around about the work effort of a high-status person (like a CEO) and, because he’s not pinpointed, people will see what they want to see. Those who value effort will perceive an all-in hard worker, while those who admire talented slackers will see her as a supremely efficient “10x” sort of person.

This is what young people generally don’t get– and that older people usually understand through experience, making them less of a “culture fit” for the more cultish companies– about “Agile” and open-plan offices and violent transparency. Allowing extreme visibility into your work, as the “Agile” fad that is destroying software engineering demands, makes you cool. It makes you well-liked and affable. However, it disempowers you, even if your work commitment is exactly the socially optimal amount. It makes you a pretty little boy (or girl); not a man or woman. It makes you “a culture fit” but never a culture maker.

When you let people know how hard (or how little) you work, you’re giving away critical information and getting nothing in return. How little or how much you work can always be used against you; if you visibly work hard, people might see your efforts as unsustainable; they might distrust you on the suspicion that you have ulterior motives, like a rogue trader who never takes vacation; they might start tossing you undesirable grunt work assuming you’ll do it with minimal complaint; or they might think that you’re incompetent and have to work long hours to make up for your lack of natural ability. If you’re smart, you keep that information close to your chest. Just as your managers and colleagues should know nothing about your sex life, whether you’re having a lot of sex or none or an average amount; they should not know how many hours you’re actually working, whether you’re the biggest slacker or the hardest worker or right in the middle.

The most powerful statements that a person makes are what she gives, expecting nothing in return. It is not always a low-status move to do give something and ask for nothing back. Giving people no-strings gifts that help them and don’t hurt you is not just ethically good, but it also improve your status by showing that you have good judgment. Giving people gifts that don’t help them, but that hurt you, either supplicates you or shows that you have terrible judgment. No one gains anything meaningful when you provide Agile-style micro-visibility into your work– executives don’t make better decisions, the team doesn’t gel any better– but you put yourself at unnecessary political risk. You’re hurting yourself “for the team” but the team doesn’t actually gain anything other than information it didn’t ask for and can’t use (unless someone intends to use it politically, and possibly against you). By doing this, you signify yourself as the over-eager sort of person who unintentionally generates political messes.

The open-plan office is cool but lowers one’s status. That said, cubicles are probably worse: low status and uncool. Still, I’d rather have a private office: uncool and middle-aged, but high in status. Private space means that your work actually matters.

“I don’t care what other people think about me”

One of my favorite examples of the divergence between what is cool and what is powerful is the statement, “I don’t care what other people think about me”. It’s usually a dishonest statement. Why would anyone who means it, say it? It’s also a cool statement. Cool people don’t care (or, more accurately, don’t seem to care) what is thought about them. However, it’s disempowering. Let’s transform it into something equivalent: “I don’t care about my reputation“. That’s not so much a “cool” statement as a reckless one. Reputation has a phenomenal impact on a person’s ability to be effective, and “I don’t care if I’m effective” is a loser’s statement. And yet, reputation is, quite exactly, what others think about a person. So why is one equivalent statement cool, and the other reckless?

Usually, people who say, “I don’t care what you think about me” are saying one of two things. The first is a fuck-you, either to the person or to the masses. Being cool is somewhat democratic; it’s about whether you are popular, seen as attractive, or otherwise beloved by the masses. Appealing to power is not democratic; most peoples’ votes actually don’t count for much. (Of course, if you brazenly flip off the masses, you might offend many people who do matter, so it’s not advisable in most circumstances.) The 24-year-olds in the open-plan office who play foosball from noon till 9:00 can decide if you’re cool, but they have no say in what you’re paid, how your work is evaluated, or whether you’re promoted or fired. It’s better to have them like you than to be disliked by them, but they’re not the ones making decisions that matter. So, a person who says, “I don’t care what you think about me” is often saying, “your vote doesn’t matter”. That’s a bit of a stupid statement, because even other prole-kickers don’t like the brazen prole-kickers.

The second meaning of “I don’t care what you think about me” is “I don’t care if you like me“. That’s fundamentally different. Personally, I do care about what people think of me. Reputation is far more powerful a factor in one’s ability to be effective in anything involving other humans than is individual capability. A reputation for competence is crucial. However, I don’t really care that much about being liked. I don’t want to be hated, but there’s really no difference between being mildly disliked by someone who’d never back me in a tight spot and being mildly liked by a person who’d never back me in a tight spot. It’s all the same, along that stretch: don’t make this person as an enemy, don’t trust as a friend.

Machiavelli was half-right and half-wrong with “It is better to be feared than loved.” It is not very valuable to be vacuously “loved”, as “scrappy startups” often are. His argument was that beloved princes are often betrayed– and we see that, all the time, in Silicon Valley– whereas feared princes are less likely to be maltreated. This may apply to Renaissance politics, that period being just as barbaric (if not moreso) as the medieval era before it; but I don’t think that it applies to modern corporate politics. Being loved isn’t valuable, but being feared is detrimental as well. You don’t get what you want through fear unless what you want is to be avoided and friendless.

It is better to be considered competent than to be feared or loved. Competent at what? That, itself, is an interesting question. Take my notes, above, on why it is undesirable to provide visibility into how hard you work. If you’re a known slacker who, coasting on natural ability or acquired expertise, gets the job done and does it well, you’ve proven your competence at the job, but you’ve shown social incompetence, by definition, because people know that you’re working less hard than the rest of the team. Even if no one resents you for it, the fact that people have this information over you is one that lowers your status. Likewise, if you’re to be a reliable hard worker, you’ve shown competence at self-control and in focus; but, yet again, the fact that people know that you work longer hours than everyone else shows a bit of social incompetence. The optimal image, in terms of where you are on the piker-versus-workhorse continuum, is to be high enough in status that others’ image of you is exactly what you want it to be. I would say, then, that wants to be seen as being competent at life. It is not enough to be competent only at the job; that keeps you from getting fired, but it won’t get you promoted.

Of course, the idea that there’s such a thing as “competent at life” is ridiculous. I’m highly competent at most things that I do, but if I somehow got into professional football, I’d be one of the worst incompetents ever seen. “Competent at life” is an image, if not a hard reality. There probably isn’t such a thing, because for anyone there is a context that would humiliate that person (for me, professional football). That said, there are people who have the self-awareness and social acumen to make themselves most visible in contexts where they are the most competent (and have moments of incompetence, such as when learning a new skill, in private) and there are others who don’t. It’s best to be in the former group and therefore create the image (since there is no such reality) of universal competence.

It is better to be thought competent than to be loved or to be feared. If you are beloved but you are not respected and you are not trusted to be competent, you can be tossed aside in favor of someone who is prettier or more charismatic or younger or cooler or “scrappier” and more of an underdog; and, over time, the probability of that happening approaches one. People will feel a mild desire to protect you, but no one will come to you for protection. This is of minimal use, because the amount of emotional energy that powerful people have to expend in the protection of others is usually low; the mentor/protege dynamic of cinema is extremely rare in the real world; most people with actual power were self-mentoring. However, if you are feared, that doesn’t necessarily mean that you’ll be respected or seen as capable. Plenty of people are feared because they’re catastrophically incompetent. You’re much more likely to be avoided, isolated, and miserable, than to get your way through fear. Furthermore, it’s often necessary that blatant adversaries (i.e. someone who might damage your reputation or career to bolster his, or to settle a score) be intimidated, but you never want them to be frightened. An intimidated adversary declines to fight you, which is what you want; a frightened or humiliated one might do any number of things, most of which are bad for all parties.

Cool can disempower

It is not always undesirable to be cool or popular. Depending on one’s aims, it might be useful. Very young people are almost never powerful, and will have more fun if they’re seen as cool than if not. When you’re 17, teachers and parents and admissions officers (all uncool) have the power, so there’s a side game that’s sexier and more accessible. When you’re 23, being “cool” can get you a following and venture funding and turn you from yet-another app developer to a “founder” overnight. There is, however, a point (probably, in the late 20s) at which cool becomes a childish thing to put away. If you work well in a Scrum environment, that might make you “cool” in light of current IT fads, but it ultimately shows that you’ve excelled at subordination, which does not lend you an aura of power. (“Agile: How to be a 10X Junior Developer.”)

I am, of course, not saying that being likeable or cool are, ever, bad things. All else considered, it’s better to have them than not. They just aren’t very useful. They aren’t the same thing as status or power, and sometimes one must be chosen or the other. Open-plan culture and the startup world fetishize coolness and distract people from the uncool but important games that they’ll have to play (and get good at) in order to become adults. Ultimately, having a reputation for professional competence and being able to afford nice vacations is just more important than being considered “cool” by people who won’t remember one’s name in 10 years. At some point, you realize that it’s more important to have a career that’ll enable you to send your kids to top schools than to win the approval of people who are just a year and a half out of those schools. The “sexiness” of the startup cult seems to derive itself from those who haven’t yet learned this.

Software’s management problem

Yesterday, I posted a list of the failings of Scrum and the “Agile” fad, and the reviews have been mixed. To be honest, I find the topic of Agile rather boring. I recoil when I encounter it, because it saddles engineers with a bunch of nonsense that has nothing to do with computer science or software engineering, but the more central topic is the fact of an industry that has become really bad at management. “User stories” are a symptom, but the root problem is much deeper.

It’s easy to complain about incompetent managers or “management culture” and make fun of foolish executives when their egos cause them to flush millions of dollars in value down the toilet, but that’s fundamentally an immature person’s game. It’s much more fruitful to look into the soul of a craft or an industry, such as computer programming, beset with open-plan offices and user stories and ask, “How the fuck did this shit come into being?” It didn’t happen in a day, and it wasn’t by accident.

So why is software management typically so bad? What about our industry causes it to be poorly managed? And what can we learn from it, in order to do better?

“Everyone hates” middle management, but it’s important

Middle managers take a lot of flak from above and below, and the stock image of a middle manager isn’t a pleasant one. Whether it’s the horrendous Bill Lumbergh of Office Space, the bumbling Michael Scott in the U.S. version of The Office, or his nastier U.K. counterpart, David Brent; the image of middle management is a deeply negative one: a petty tyrant without vision, or an incompetent lackey with the ruthlessess, but not the charisma, of an executive. This, I think, exists because of a perverse need for the low to identify with the high (royalism) through a shared contempt for the “bourgeois” middle. Often, middle managers get the brunt of the negativity and even blame, for example, for terrible decisions made by executives. Some dickhead higher-up decides impose stack-ranking, but it’s middle managers who get stuck having to fire people, and who end up being the most hated people in the whole row. It’s much easier to get the low to hate the one-rank-up less-low than to overcome their desire to identify with the high.

In truth, the executive/manager distinction is something that upper-tier professional managers (i.e. “executives”) invented for their own benefit, as a way of differentiating themselves from their lower-tier counterparts. Ultimately, the job title of manager isn’t very sexy. Traditionally, a manager is someone who makes decisions pertaining to an asset that someone else owns: a financial manager allocates a wealthy person’s funds, an actor’s manager is a subordinate who manages his reputation, and a corporate manager oversees the deployment of its labor and capital. As managers (or, to use a more icy term, “handlers”) make decisions over someone else’s assets, they’re often distrusted, because the bad ones do a lot of harm to the owners of those assets. A few are unethical, using their superior knowledge over what is being managed to further their own aims rather than the interests of the owners of the resources. Other managers are abandoned when politics turns against them. At any rate, the manager of a resource is officially subordinate to the person owning that resource, and those who choose to be insubordinate are (often rightly) viewed as unethical or even as crooks.

Upper-tier professional managers began to identify themselves as executives in order to get away from the image of a subordinate, claiming a special knowledge of how to run businesses and inventing demand for it. When the manager/executive distinction formed, and to a degree even now, it wasn’t intended to be one of hierarchical rank or pay grade, but of social status. Within a group, social status gives a person the right to define how he or she is evaluated. (In fact, one of my issues with Scrum is that, while it attempts to equalize, it does so by imposing the low-status treatment– frequent requests for estimates, mandatory visibility into one’s work progress, low allowance for self-directed work, emphasis on measurability over quality– on the entire team.) A manager is responsible for putting a defined set of resources (including, and most often in the corporate setting, people) to defined tasks. It’s measurable, and a measurable job is almost always of less status than an intangible one. The job of an executive is… well, unless you’re within that high-status group yourself, you wouldn’t understand it.

Managers have hiring and firing authority but don’t get to decide how they, themselves, are evaluated. Executives, in general, do have that freedom, because their jobs aren’t as rigidly defined. While an executive will often have people (a mix of managers, assistants, and possibly other executives) reporting to him, his job isn’t to impose certain rules or processes over those people. Rather, those people are provided to assist him, not as a “company-owned resource” that he must formally manage, but toward whatever assignment he has devised for himself. Executives can fail just as they may succeed, but they’re afforded the luxury of succeeding or failing on terms that they have set. That’s the perk (and, some would argue, the definition) of being an executive.

With all of this said, being a middle manager (i.e. a manager who does not have the social status of an executive) is a decidedly unsexy job. It’s a description by exclusion: it means that a person has the responsibility of organizing other people (and is therefore exposed to any risk in their performance, in addition to her own fluctuation) but not the social status or true power that would allow her to define her own job and process of evaluation. The fact that middle managers take bumps from below and above shouldn’t be surprising. Executives are only accountable for the upkeep of their own social status in order to remain in the in-crowd, and workers are only accountable for their own performance, but managers are accountable for the performance of many people including themselves. An executive can toss blame for a fuck-up (his or someone else’s) to someone else in the organization, but a manager is stuck with responsibility for her own fuck-ups and those that occur below her (in addition to any, from above, that are thrown onto her). In many organizations, middle managers are forced into being the hardest workers, having to clean up messes made by the minimum-effort players below them and the self-interested, aggressive, and often narcissistic power players above them.

The software industry has, over the decades, de-emphasized middle management. Recognizing it as a job that few people want, it’s factored it out into roles like the “product manager”, who may or may not have reports, the “software architect” (an important role but a dangerous title) and, in some cases, ill-advised pseudo-managerial positions like “scrotum master”. To a large degree, this change has been troubling, because the disappearance of middle management capability within software engineering has made a mess of the industry. Jobs, such as creating an inclusive culture rather than a “brogrammer” culture based on AMOGing, that were traditionally the province of middle management, go undone. Typically, there is no one given the authority to do them, and doing that kind of cultural or managerial work on one’s own initiative (i.e. without formal authority) is extremely dangerous, so people avoid it.

Against “flat hierarchy”

It may surprise people that, while I champion open allocation, I’m against so-called “flat hierarchy”. The two concepts, I think, are orthogonal even if often linked. Open allocation is the idea that programmers (and, perhaps, creative workers in general) ought to be rewarded and encouraged to find more profitable uses of their time and energy. While “engineers get to work on whatever they want” isn’t an effective management strategy, I support removing authoritarian obstacles (e.g. headcount limitations, rigid job descriptions, time-in-grade mandates like Google’s “18-month rule”) that prevent them from taking initiative and enhancing their value to the company by working on something more important than stated executive priorities. It’s not that I think engineers should be able to work on whatever they want; only that they should have the right to allocate their time to existing corporate needs without being required to appeal to a specific person first. Open allocation is about equality of opportunity (i.e. you won’t be told that you can’t work on X because bullshit headcount limitations that are wielded against the politically less empowered) rather than anarchy. What I don’t think can work is “flat hierarchy” or “no middle managers”. It goes against human nature. While persistent hierarchies of people can be (and often are) toxic, we think in hierarchical terms. We group like things with like, we form taxonomies, and we understand complex systems by composing them into simpler ones… and that’s hierarchy. Once there is a certain amount of complexity in anything, humans will demand or impose a hierarchical model over it. This creates a need for people with the power and the social skills to ensure that the conceptual hierarchy is sound, and that any hierarchical relationships among people are congruent with it, and do not outlive their need without two-party consent to their continuance.

Sociologically, this means that most companies with “flat hierarchy” end up with an emergent hierarchy in spite of themselves. Plenty of self-fashioned benevolent executives wish to see a flat hierarchy below them, because it saves them from the onerous task of choosing (or asking the group to choose) formally titled middle managers, who might prove themselves untrustworthy or dangerous once given power. To her credit, the “benevolent executive” might listen equally to the “flat” array of people below her when there are four or six or possibly even fifteen. At fifty people, though, it’s almost certain that some people have a shorter, hotter line to her and her hiring, firing, allocating, and promoting authority. This means, in effect, that they’re now bosses. This is problematic, because the de facto middle managers who emerge, having no formal title or stability in position, have to compete with the rest of the group to hold status. A formally entitled manager, at least on paper, isn’t supposed to compete with his subordinates, because he’s evaluated on group achievement rather than personal glory. An informal manager, held in that position by a perception (not always reality!) of superior individual performance, is required to use that informal power to maintain said superiority, to the detriment of the less powerful.

Furthermore, as I’ve already addressed, there are jobs that only middle managers will do, because either no one wants to do them, or because it is dangerous to do them without formal authority. Conflict resolution is a big one, but there are subtler cultural jobs that emerge. Who tells the young “rock star” with a horrid personality that he needs to stop calling co-workers “pussies”, because even if the young men in his group venerate him and don’t mind him, the women who overhear it find it offensive? (The “benevolent despot” CEO is likely not around when this guy acts up.) Who decides which technical disputes (e.g. Haskell vs. Java) are important and which (tabs vs. spaces) are a waste of time? Most importantly, who mentors incoming talent and informs people of the existing political landscape (as one always exists) in order to prevent people from needlessly damaging their careers and reputations? Software engineers don’t like middle management because they don’t see what middle managers do when they do their jobs well, which is to remove politics. They’d rather pretend that they work in “politics-free” (or “meritocratic”) environments. This means that they are oblivious, because even when organizations run well, politics exists.

As a final side note on this topic, the term “political” (as a negative) is one I find irritating. When someone loses his driver’s license and is fined because he was driving drunk, that’s political, even if it’s what should happen. It’s an exercise of state power for group benefit, at individual expense. It’s politics working well. Complaints about office “politics” or past decisions being “political” are a half-handed way of saying that the decisions or environment are unfair and corrupt. I would prefer that people use those words to describe bad behavior. Don’t say that the decision was “political”; say that it was wrong and unfair.

This common conflation– of all forms of “getting political” with ill-intended political behaviors– causes harm to those who are political toward beneficial ends. One of the most time-honored way for the elite to exercise control over the middle class is to encourage in them a general aversion to “being political”. Thus you hear statements like, “I support equality for women, but I’d never become feminist or get political about it” from well-intended, if somewhat oblivious, middle-class professionals. The corporate upper class can’t say what it means– “We don’t want unions, and even professional guilds we find irritating”– so they say, “Don’t get political”, which sounds enough like the middle-middle-class “Don’t discuss politics or religion at the dinner table” to get a pass. This aversion to “being political” has become so ingrained in software engineering culture that we’ve lost sight of our need for people who are skilled at navigating and mitigating the politics that emerges naturally in groups of people. As a result, we’re becoming one of the most sexist, ageist, and classist industries in the white-collar world. Moreover, we’re still as “managed” as we would be in a more traditional environment. We still face business-driven engineering (as Agile is an attempt to “patch” business-driven engineering, despite the latter being intractably broken) and low social status and widespread incompetence in management. The fact that there are well-studied systemic reasons for technology executives to be, on average, low-quality people doesn’t help either.

Between 1997 and 2015, we’ve seen a lack of desire to fix these problems, because technology has been such a high-margin industry that it’s been able to cover up egregious mismanagement. You don’t see open-plan offices and Scrum in high-profit companies because those practices work; you see them because, if you learned how to make great phones 10 years ago or a leading search engine 18 years ago, you can have terrible management practices and still be so profitable that open-plan offices won’t outright kill you… for a while. I prefer to see the proliferation of mismanagement in software as a positive sign. If our industry is this profitable despite having emasculated the concept of middle management, and further in spite of having drooling, non-technical morons (“failed in private equity, try bossing nerds around”) leading its upper ranks, then what might it be able to do if it were properly run? I’ll answer this: a lot more.

Protect, direct, and eject

So what makes a good manager? To make it clear, the notion of being an executive and of being a manager are orthogonal ones. There are managers, there are executives, and there are managers of executives. The principles that I’m getting into here apply both inside and outside of the executive in-crowd.

Hence we can focus the core job of any manager: protect, direct, and eject. The best subordinates will need to spread their wings in order to remain engaged in the work, but they need to be protected from the political minefields that overperformers often unknowingly enter, and they need to be insulated from executives– in particular, given guidance about which higher-ups are friendly and which ones are toxic malefactors on power trips. With the strongest subordinates, it’s almost a guarantee that they’ll want to take on bigger challenges, and the manager’s job is to protect them politically while they do so. The middling subordinates, who tend to show less initiative and confidence, need to be directed: assigned useful work in order to earn their keep. Finally, if there are negative-impact members of the team, and as a last resort if they cannot be improved, they must be removed from the team (“eject”). There aren’t static percentages that apply to these three jobs, and people can move from one category into another. Ideally, a manager would seek to reform low performers before ejecting them, and “direct” the middling performers toward work that improves their skills and engages them more, thus bringing them into the “protect” group. In the ideal world, the manager’s job is 100% “protect”, because I don’t believe that people are intrinsically disengaged and mediocre (i.e. need to be directed). In the real world and on an average team, it’s probably 35% protect, 63% direct, and 2% eject.

Which of these three jobs do managers prefer? Where is their bias? Is it toward directing or protecting? I may be going out on a limb here, but I think that almost no one enjoys the “eject” job. It’s horrible to have to fire someone. It deserves to be done as a last resort, and while some bemoan that the decision to fire someone is often procrastinated, I prefer for it to be that way than for firing (especially if one cannot afford a generous severance) to be taken lightly. Where I think there is confusion about the manager’s role is between the other two jobs: direct versus protect. People who excel at one of these jobs tend to be bad at the other. Mediocre managers tend to manage up and to the short term, which favors the “direct” job: get the executives what they want, quickly and with no hiccups. Good managers tend to favor the long term and recognize the value of rapport with their best subordinates, so they’re willing to take on the “protect” job: expending effort and political capital to protect the good.

It’s probably not surprising that, over time, the most talented managers end up with the most talented subordinates, and vice versa. In the “protect, direct, eject” framework, this makes sense. The best managers generally want to be protectors and mentors, and they get their pick of people reporting to them, and they get people who don’t need to be told what to do so much as protected from unintended consequences of over-performance. Mediocre managers tend to be “direct”-heavy, and end up with people who need to directed. Finally, the worst managers tend to be “ejectors” (either because they lack the political clout to keep their employees’ jobs, or because they toss blame for their own mistakes, or even because they enjoy firing people) and would be predicted to end up with the worst subordinates, where their job seems to be implementing their terminations (a job that no one wants to do). This seems like a efficient arrangement, though. Shouldn’t talented subordinates be mapped to protectors and mediocre ones be mapped to directors. So what goes wrong?

The first issue is the lack of self-correction. Every system that must evaluate people makes errors, especially if it does so early on (as in the case of most companies, which assign managers on the first day). Moreover, people change over time. I don’t believe that there are people who are inflexibly of the “needs to be directed” or “needs to be ejected” type; people are mostly context, and impressively capable at improving themselves given the right opportunity and encouragement. Managers who are oriented toward directing (i.e. they see their job as telling people what to do) are likely to end up in conflict with strong, independent subordinates. That doesn’t end well. It also goes poorly when capable people are placed under ejectors, as can happen early in their careers. This is what’s behind the Welch Effect: the people most likely to be fired under stack ranking are junior members of underperforming teams (i.e. teams run by ejectors) and it is pathological because, being junior, they typically had the least to do with the team’s underperformance; they’re essentially fired at random.

Reading my assessment, it probably seems obvious that most people are going to consider themselves (as reports into a manager) as being in the “protect” category. Few will admit that they belong in the “direct” category as if it were a native trait of them, and I agree that it’s not a native trait. More often, it comes down to relative priorities. Some people want to take on bigger challenges and need the political support (and protection) that will enable them to do so. Others are happy being told what to do, so long as they can go home at 5:00 and their job duties don’t change too frequently or in an adverse way. Not everyone values autonomy, and thats OK. There’s nothing wrong with either approach to work, and those who prioritize comfort over achievement (which is completely reasonable, especially in an environment where achievement won’t be rewarded commensurate with the compromise of comfort) are often valuable people to have, so long as they’re properly directed. It’s not that such people are inflexibly in a “mediocre worker” category that requires them to be directed more than protected. It’s that their needs and capabilities at a certain time put them there, although a good manager will try to direct them, if they wish to go toward it, up to a higher level of competence; i.e. the “protect” group.

There is, however, a numerical mismatch between the subordinates who are better off protected than directed, and the inclinations of middle managers as a category: there are more talented subordinates (the “protect” category) than managers who view themselves primarily as protectors, and fewer mediocre subordinates (the “direct” category) than managers inclined to direct. Because managers are often rewarded for managing up, and because most corporate executives are in positions with no accountability, those who are picked for the management track are often those who are inclined to direct rather than they are those who would protect. This, I think, is why middle management gets such a bad name: it’s associated with those who value control over achievement. As I recounted in the last essay, there’s a selection process that favors negative traits. Middle management is often defective because the traits that make a person good at managing up are a readiness to control others and to furtively oppose the interests of one’s subordinates. This results in a category of people who are unduly inclined to distrust (and “direct”) while offering little or none of the protection or opportunity that would enable them to manage high performers. In fact, to many of them, the idea that they should protect their subordinates is a foreign concept: as they see it, their subordinates exist to serve them. Of course, it’s not just the incompetence of many in the role that lead to middle management’s negative reputation. As I discussed, front-line managers are often “fall guys” for executive malfeasance and incompetence, as their lack of executive-level social status makes them easy to scapegoat. Peoples’ desire to identify with power (which middle managers often don’t have, while the executives do) leaves them more than ready to dislike their immediate bosses over failures that are actually the fault of higher-ranking people.

Scrum and software management

The software industry has been trying to disintermediate middle management for decades, to mostly negative results. I’ll readily agree that middle management is often a weak link in organizations, and that the quality of people tapped for it is sometimes low (but not as low as that of the people who fail out of private equity and into investor- or executive-level positions in tech). Even still, middle management is often necessary. The job is important. Someone has to protect new talent from the sharp knives of executives and other managers, direct the middling performers so the company functions, and eject the rare person whose behavior is so toxic as to threaten the functioning of the organization. These jobs can’t be delegated to a “self-managing” (or, just as often, emergently managed) group. Protecting is a job that no one in a “flat” organization has the authority to take on, except for the executives (you know, the people who keeps the hierarchy flat and signs the paychecks) who are often too far removed from the bottom to do it. Directing, on the other hand, becomes a job that many people try to do; without clear leaders of the group, you get many who think they’re the leaders and will try to tell others what to do. The long term result of this is incoherence and tension, until the pushiest people gain credibility (usually by taking credit for others’ work) and win favor from above, and become de facto managers. Finally, ejecting is a job that either no one does (because it’s undesirable, except for psychopaths) or that attracts the worst kinds of people, and is then done in a toxic way.

Where do Scrum and Agile fit into all of this? Naively, they appear like a mechanism to remove middle managers from the equation, or push “people managers” off to the side. I’ll certainly agree that there’s a noxious, deep conflict of interest between people management and project (or product) management, because what is best for those being “people-managed” might be bad for the project (i.e. for a talented subordinate to transfer to a team more in line with his interests is something that a middle manager, held accountable for delivery on that team’s project rather than excellent people-managing, might be averse to letting happen). Many middle managers abuse their power, as a single-point-of-failure (SPOF) in a report’s career at the company, in order to get project-related goals (because, typically, they’re evaluated based on visible deliverables rather than effective people managing) done through intimidation, and I think that has led a couple generations of software engineers to conclude that most middle managers are worthless parasites who only manage up. The problem, however, has more to do with how those managers are evaluated (i.e. their need to “manage up”) and that it forces them to favor directing over protecting.

Despite the flaws of the former, when you replace the institution of middle management with “Agile” or Scrum and the illusion of “flat hierarchy”, you rarely get an improvement. Instead, you get emergent middle management and unexpected, unstable power centers. Agile and Scrum ignore, outright, the goal of protecting subordinates (or, sorry, “Scrum team members”). In fact, the often-stated point of the “user stories” and violent transparency and superficial accountability is to make it impossible for middle managers to protect their reports. Agile is, foremost, about directing and ejecting, but it replaces the single higher-up tyrant with a hundred mildly tyrannical neighbors. The formal police state vanishes in favor of a fuck-your-buddy system where instead of having one career-SPOF in a middle manager, you have tens of career SPOFs. The actual effect of this is to delegate the job that ruined middle management– that of”managing up” into executives– to the whole team.

The big problem with this change is that many executives are narcissistic assholes: probably 30 to 50 percent do more harm than good. It comes with the job. As I mentioned earlier, managers have a job (to manage) while executives are effectively unaccountable, because an executive’s real job is to maintain the social status that places them within the corporation’s nobility. So, companies get a mix of good and bad executives and are rarely very swift in removing the bad ones. A good manager with institutional knowledge will know which executives are friendly and which ones are toxic and best avoided. She’ll steer her reports toward interactions with the good executives, and thereby improve her ability and the ability of her team to get things done, while shooing them away from the bad executives who’ll meddle or do worse. Take away that middle manager and replace her with over-eager, politically clueless young developers on a “Scrum team”, and you get chaos. You get no one looking out for that team, because no one can look out for that team. From above, the team is exposed, not protected.

It’s superficially appealing to throw middle managers overboard. It’s a tough job and a thankless one and there are a huge number of people out there doing it badly. The whole “startup” craze (in which young people have been led to overvalue jobs at companies whose middling tier is comprised of “founders” managing up into VCs, rather than traditional middle managers) is based on this appeal: why work at Goldman Sachs and report to “some faceless middle manager” when you can join a startup with a “flat hierarchy” and report directly to the CTO (…and, in truth, have your career dictated by a 27-year-old product manager whom the CTO has known for 8 years and whom he trusts more than he will ever trust you)? I also think that the reflexive rejection of the idea of middle management– why it exists, why it is important, and why it deserves so much more respect than it is given when it is done well– needs to be tossed aside. We haven’t figured out a way to replace it, and the odds are that we won’t do so in this generation. What we do know is that these asinine “methodologies” that trick a team into middle-managing itself (poorly) have got to go.


Middle management is, perhaps surprisingly, both the solution and the problem. It exists. It always will exist. Executives are disinclined to “protect the good” within the organization, and too removed from day-to-day problems to evaluate individual people, in any case. Even at modest size for an organization, the necessary jobs of management– protect, direct, and (as a last resort) eject– cannot be handled by a single person or an executive in-crowd. Pretending that management is an outmoded job is something we do at our peril. Yes, we must acknowledge that it has mostly been done poorly in software for the past 20 years (and possibly for much longer). However, rather than declaring the whole concept obsolete, we have to acknowledge that it is a necessary function– and figure out how to get good at it.

Why “Agile” and especially Scrum are terrible

Follow-up post: here

It’s probably not a secret that I dislike the “Agile” fad that has infested programming. One of the worst varieties of it, Scrum, is a nightmare that I’ve seen actually kill companies. By “kill” I don’t mean “the culture wasn’t as good afterward”; I mean a drop in the stock’s value of more than 85 percent. This shit is toxic and it needs to die yesterday. For those unfamiliar, let’s first define our terms. Then I’ll get into why this stuff is terrible and often detrimental to actual agility. Then I’ll discuss a single, temporary use case under which “Agile” development actually is a good idea, and from there explain why it is so harmful as a permanent arrangement.

So what is Agile?

The “Agile” fad grew up in web consulting, where it had a certain amount of value: when dealing with finicky clients who don’t know what they want, one typically has to choose between one of two options. The first is to manage the client: get expectations set, charge appropriately for rework, and maintain a relationship of equality rather than submission. The second is to accept client misbehavior (as, say, many graphic designers must) and orient one’s work flow around client-side dysfunction. Programmers tend not to be good at the first option– of managing the client– because it demands too much in the way of social acumen, and the second is appealing to a decision-maker who’s recently been promoted to management and won’t have to do any of the actual work.

There’s a large spectrum of work under the name of “consulting”. There are great consulting firms and there are body shops that taken on the lowest kind of work. Companies tend to give two types of work to consultancies: the highest-end stuff that they might not have the right people for, and the low-end dreck work that would be a morale-killer if allocated to people they’d actually like to retain for a year or few. Scrum is for the body shops, the ones that expect programmers to suffer when client relationships are mismanaged and that will take on a lot of low-end, career-incoherent work that no one wants to do.

So what are Scrum and “Agile”? I could get into the different kinds of meetings (“retrospective” and “backlog grooming” and “planning”) or the theory, but the fundamental unifying trait is violent transparency, often one-sided. Programmers are, in many cases, expected to provide humiliating visibility into their time and work, meaning that they must play a side game of appearing productive in addition to their actual job duties. Instead of working on actual, long-term projects that a person could get excited about, they’re relegated to working on atomized, feature-level “user stories” and often disallowed to work on improvements that can’t be related to short-term, immediate business needs (often delivered from on-high). Agile eliminates the concept of ownership and treats programmers as interchangeable, commoditized components.

In addition to being infantilizing and repellent, Scrum induces needless anxiety about microfluctuations in one’s own productivity. The violent transparency means that, in theory, each person’s hour-by-hour fluctuations are globally visible– and for no good reason, because there’s absolutely no evidence that any of this snake oil actually makes things get done quicker or better in the long run. For people with anxiety or mood disorders, who generally perform well when measured on average long-term productivity, but who tend to be most sensitive to invasions of privacy, this is outright discriminatory.

Specific flaws of “Agile” and Scrum

1. Business-driven engineering.

“Agile” is often sold in comparison to an equally horrible straw man approach to software design called “Waterfall”. What Waterfall and Agile share (and a common source of their dysfunction) is that they’re business-driven development. In Waterfall, projects are defined first by business executives, design is done by middle managers and architects, and then implementation and operations and testing are carried out by multiple tiers of grunts, with each of these functions happening in a stage that must be completed before the next may begin. Waterfall is notoriously dysfunctional and no Agile opponent would argue to the contrary. Under Waterfall, engineers are relegated to work on designs and build systems after the important decisions have all been made and cannot be unmade, and no one talented is motivated to take that kind of project.

Waterfall replicates the social model of a dysfunctional organization with a defined hierarchy. The most interesting work is done first and declared complete, and the grungy details are passed on to the level below. It’s called “Waterfall” because communication goes only one way. If the design is bad, it must be implemented anyway. (The original designers have probably moved to another project.) Agile, then, replicates the social model of a dysfunctional organization without a well-defined hierarchy. It has engineers still quite clearly below everyone else: the “product owners” and “scrum masters” outrank “team members”, who are the lowest of the low. Its effect is to disentitle the more senior, capable engineers by requiring them to adhere to a reporting process (work only on your assigned tickets, spend 5-10 hours per week in status meetings) designed for juniors. Like a failed communist state that equalizes by spreading poverty, Scrum in its purest form puts all of engineering at the same low level: not a clearly spelled-out one, but clearly below all the business people who are given full authority to decide what gets worked on.

Agile increases the feedback frequency while giving engineers no real power. That’s a losing bargain, because it means that they’re more likely to jerked around or punished when things take longer than they “seem” they should take. These decisions are invariably made by business people who will call shots based on emotion rather than deep insight into the technical challenges or the nature of the development.

Silicon Valley has gotten a lot wrong, especially in the past five years, but one of the things that it got right is the concept of the engineer-driven company. It’s not always the best for engineers to drive the entire company, but when engineers run engineering and set priorities, everyone wins: engineers are happier with the work they’re assigned (or, better yet, self-assigning) and the business is getting a much higher quality of engineering.

2. Terminal juniority

“Agile” is a culture of terminal juniority, lending support to the (extremely misguided) conception of programming as a “young man’s game”, even though most of the best engineers are not young and quite a few are not men. Agile has no exit strategy. There’s no “We won’t have to do this once we achieve ” clause. It’s designed to be there forever: the “user stories” and business-driven engineering and endless status meetings will never go away. Architecture and R&D and product development aren’t part of the programmer’s job, because those things don’t fit into atomized “user stories” or two-week sprints. So, the sorts of projects that programmers want to take on, once they master the basics of the field, are often ignored, because it’s either impossible to atomize them or it’s far more difficult to do so than just to do the work.

There’s no role for an actual senior engineer on a Scrum team, and that’s a problem, because many companies that adopt Scrum impose it on the whole organization. Aside from a move into management, there is the option of becoming a “Scrum master” responsible for imposing this stuff on the young’uns: a bullshit pseudo-management role without power. The only way to get off a Scrum team and away from living under toxic micromanagement is to burrow further into the beast and impose the toxic micromanagement on other people. What “Agile” and Scrum say to me is that older, senior programmers are viewed as so inessential that they can be ignored, as if programming is a childish thing to be put away before age 35. I don’t agree with that mentality. In fact, I think it’s harmful; I’m in my early 30s and I feel like I’m just starting to be good at programming. Chasing out our elders, just because they’re seasoned enough to know that this “Agile”/Scrum garbage has nothing to do with computer science and that it has no value, is a horrible idea.

3. It’s stupidly, dangerously short-term. 

Agile is designed for and by consulting firms that are marginal. That is, it’s for firms that don’t have the credibility that would enable them to negotiate with clients as equals, and that are facing tight deadlines while each client project is an existential risk. It’s for “scrappy” underdogs. Now, here’s the problem: Scrum is often deployed in large companies and funded startups, but people join those (leaving financial upside on the table, for the employer to collect) because they don’t want to be underdogs. No one wants to play from behind unless there’s considerable personal upside in doing so. “Agile” in a corporate job means pain and risk without reward.

When each client project represents existential or severe reputational risk, Agile might be the way to go, because a focus on short-term iterations is useful when the company is under threat and there might not be a long term. Aggressive project management makes sense in an emergency. It doesn’t make sense as a permanent arrangement; at least, not for high-talent programmers who have less stressful and more enjoyable options.

Under Agile, technical debt piles up and is not addressed because the business people calling the shots will not see a problem until it’s far too late or, at least, too expensive to fix it. Moreover, individual engineers are rewarded or punished solely based on the completion, or not, of the current two-week “sprint”, meaning that no one looks out five “sprints” ahead. Agile is just one mindless, near-sighted “sprint” after another: no progress, no improvement, just ticket after ticket.

4. It has no regard for career coherency.

Atomized user stories aren’t good for engineers’ careers. By age 30, you’re expected to be able to show that you can work at the whole-project level, and that you’re at least ready to go beyond such a level into infrastructure, architecture, research, or leadership. While Agile/Scrum experience makes it somewhat easier to get junior positions, it eradicates even the possibility of work that’s acceptable for a mid-career or senior engineer.

In an emergency, whether it’s a consultancy striving to appease an important client or a corporate “war room”, career coherency can wait. Few people will refuse to do a couple weeks of unpleasant or career-incoherent work if it’s genuinely important to the company where they work. If nothing else, the importance of that work confers a career benefit. When there’s not an emergency, however, programmers expect their career growth to be taken seriously and will leave. Using “fish frying” as a term-of-art for grunt work that no one enjoys, and that has no intrinsic career value to any one, there’s enough career value (internal and external to the organization) in emergency or high-profile fish frying that people don’t mind doing it. You can say, “I was in the War Room and had 20 minutes per day with the CEO” and that excuses fish frying. It means you were valued and important. Saying, “I was on a Scrum team” says, “Kick me”. Frying fish because you were assigned “user stories” shows that you were seen as a loser.

5. Its purpose is to identify low performers, but it has an unacceptably false positive rate. 

Scrum is sold as a process for “removing impediments”, which is a nice way of saying “spotting slackers”. The problem with it is that it creates more underperformers than it roots out. It’s a surveillance state that requires individual engineers to provide fine-grained visibility into their work and rate of productivity. This is defended using the “nothing to hide” argument, but the fact is that, even for pillar-of-the-community high performers, a surveillance state is an anxiety state. The fact of being observed changes the way people work– and, in creative fields, for the worse.

The first topic coming to mind here is status sensitivity. Programmers love to make-believe that they’ve transcended a few million years of primate evolution related to social status, but the fact is: social status matters, and you’re not “political” if you acknowledge the fact. Older people, women, racial minorities, and people with disabilities tend to be status sensitive because it’s a matter of survival for them. Constant surveillance into one’s work indicates a lack of trust and low social status, and the most status-sensitive people (even if they’re the best workers) are the first ones to decline.

Scrum and “Agile” are designed, on the other hand, for the most status-insensitive people: young, privileged males who haven’t been tested, challenged, or burned yet at work. It’s for people who think that HR and management are a waste of time and that people should just “suck it up” when demeaned or insulted.

Often, it’s the best employees who fall the hardest when Agile/Scrum is introduced, because R&D is effectively eliminated, and the obsession with short-term “iterations” or sprints means that there’s no room to try something that might actually fail.

The truth about underperformers is that you don’t need “Agile” to find out who they are. People know who they are. The reason some teams get loaded down with disengaged, incompetent, or toxic people is that no one does anything about them. That’s a people-level management problem, not a workflow-level process problem.

6. The Whisky Googles Effect

There seems to be some evidence that Agile and Scrum can nudge the marginally incompetent into being marginally employable. I call this the Whisky Goggles Effect: it turns the 3s and 4s into 5s, but it makes you so sloppy that the 7s and 9s want nothing to do with you. Unable to get their creative juices flowing under aggressive micromanagement, the best programmers leave.

From the point of view of a manager unaware of how software works, this might seem like an acceptable trade: a few “prima donna” 7+ leave under the Brave New Scrum, while the 3s and 4s become just-acceptable 5s. The problem is that the difference between a “7” programmer and a “5” programmer is substantially larger than that between a “5” and a “3”. If you lose your best people and your leaders (who may not be in leadership roles on the org-chart) then the slight upgrade of the incompetents for whom Scrum is designed does no good.

Scrum and Agile play into what I call the Status Profit Bias. Essentially, many people in business judge their success or failure not in objective terms, but based on the status differential achieved. Let’s say that the market value of a “3” level programmer is $50,000 per year and, for a “5” programmer, it’s $80,000. (In reality, programmer salaries are all over the map: I know 3’s making over $200,000 and I know 7’s under $70,000, but let’s ignore that.) Convincing a “5” programmer to take a “3”-level salary (in exchange for startup equity!) is marked, psychologically, not as a mere $30,000 in profit but as a 2-point profit.

Agile/Scrum and the age discrimination culture in general are about getting the most impressive status profits, rather than actual economic profits. The people who are least informed about what social status they “should” have are the young. You’ll find a 22-year-old 6 who thinks that he’s a 3 and who will submit to Scrum, but the 50-year-old 9 is likely to know that she’s a 9 and might begrudgingly take 8.5-level conditions but is not about to drop to a 6. Seeking status profits is, however, extremely short-sighted. There may be a whole industry in bringing in 5-level engineers and treating (and paying) them like 4’s, but under current market conditions, it’s far more profitable to hire an 8 and treat him like an 8.

7. It’s dishonestly sold.

To cover this point, I have to acknowledge that the uber-Agile process known as “Scrum” works under a specific set of circumstances; the dishonest salesmanship is in the indication that this stuff works everywhere, and as a permanent arrangement.

What Scrum is good for

Before the Agile fad, “Scrum” was a term sometimes used for what corporations might also call a “Code Red” or a “War Room emergency”. This is when a cross-cutting team must be built quickly to deal with an unexpected and, often, rapidly-evolving problem. It has no clear manager, but a leader (like a “Scrum Master”) must be elected and given authority and it’s usually best for that person not to be an official “people manager” (since he needs to be as impartial as possible). Since the crisis is short-term, individuals’ career goals can be put on hold. It’s considered a “sprint” because people are expected to work as fast as they can to solve the problem, and because they’ll be allowed to go back to their regular work once it’s over.

There are two scenarios that should come to mind. The first is a corporate “war room”, and if specific individuals (excluding high executives) are spending more than about 6 weeks per year in war-room mode, than something is wrong with the company because emergencies ought to be rare. The second is that of a consultancy struggling to establish itself, or one that is bad at managing clients and establishing an independent reputation, and must therefore operate in a state of permanent emergency.

Two issues

Scrum and Agile represent acknowledgement of the idea that emergency powers must sometimes be given to “take-charge” leaders who’ll do whatever they consider necessary to get a job done, leaving debate to happen later. A time-honored problem with emergency powers is that they often don’t go away. In many circumstances, those empowered by an emergency see fit to prolong it. This is, most certainly, a problem with management. Dysfunction and emergency require more managerial effort than a well-run company in peace time.

It is also more impressive for an aspiring demagogue (a “scrum master”?) to be a visible “dragonslayer” than to avoid attracting dragons to the village in the first place. The problem with Scrum’s aggressive insistence on business-driven engineering is that it makes a virtue (“customer collaboration”) out of attracting, and slaying, dragons (known as “requirements”) when it might be more prudent not to lure them out of their caves in the first place.

“Agile” and Scrum glorify emergency. That’s the first problem with them. They’re a reinvention of what the video game industry calls “crunch time”. It’s not sustainable. An aggressive focus on individual performance, a lack of concern for people’s career objectives in work allocation, and a mandate that people work only on the stated top priority, all have value in a short-term emergency but become toxic in the long run. People will tolerate those changes if there’s a clear point ahead when they’ll get their autonomy back.

The second issue is that these practices are sold dishonestly. There’s a whole cottage industry that has grown up around teaching companies to be “Agile” in their software development. The problem is that most of the core ideas aren’t new. The terminology is fresh, but the concepts are mostly outdated, failed “scientific management” (which was far from scientific, and didn’t work).

If the downsides and upsides of “Agile” and Scrum were addressed, then I wouldn’t have such a strong problem with the concept. If a company has a team of only junior developers and needs to deliver features fast, it should consider using these techniques for a short phase, with the plan to remove them as its people grow and timeframes become more forgiving. However, if Scrum were sold for what it is– a set of emergency measures that can’t be used to permanently improve productivity– then there would be far fewer buyers for it, and the “Agile” consulting industry wouldn’t exist. Only through a dishonest representation of these techniques (glorified “crunch time”, packaged as permanent fixes) are they made salable.

Looking forward

It’s time for most of “Agile” and especially Scrum to die. These aren’t just bad ideas. They’re more dangerous than that, because there’s a generation of software engineers who are absorbing them without knowing any better. There are far too many young programmers being doomed to mediocrity by the idea that business-driven engineering and “user stories” are how things have always been done. This ought to be prevented; the future integrity of our industry may rely on it. “Agile” is a bucket of nonsense that has nothing to do with programming and certainly nothing to do with computer science, and it ought to be tossed back into the muck from which it came.