Summary: Developer Hegemony

I’ve had Developer Hegemony by Erik Dietrich in my library since 2015, and I’m pleased that I made time this year (2018) to giving it a thorough read. Although not part of my training docket for work, I thought I’d be remiss not to read Erik’s thoughts on where he (and others) believe software development is headed — not just for my own career, but to understand a possible direction for the industry as I deepen my foray into management.

The format for this post will be slightly different than my typical CliffsNotes-style summaries of career-oriented books. As I read Developer Hegemony, I found myself compelled to make more margin notes than any book I’ve read recently. Most of the time I just highlight passages to remember or take notes on; this book struck emotional/reactive chords instead of cognitive ones.

If you are impacted by software development in any fashion — considering it as a career, a developer yourself, or a manager of developers — I think it’s worth reading so that you can form your own thoughts.

  • The premise is basically how to be a capitalist and get a better seat at the capitalist table because you own the source of labor. “We’re factory workers that can’t figure out that we own factories.”
  • There are many parts of Erik’s arguments that, in my opinion, don’t hold up. However, his concept of efficiencer firms may be a transition to the next phase of our industry. Who knows.
  • Takeaway: Time = money, and money is your most important objective
  • I identify more as an idealist, but I recognize plays I’ve executed from the opportunist playbook as well as behaviors from the pragmatist group
  • Just because you can doesn’t mean you should. Ex: I could negotiate contracts for projects, but do I want to be an expert (enough) to know if I’m protecting myself in the terms?
  • My opinion: companies (as a group of people) provide a gestalt; you can achieve more by going together than by going alone. On that note, bureaucracy does exist for a reason — efficiency at scale.
  • Most companies aren’t meritocratic, but I still hold out hope (and stand with integrity) that we can bend toward that. Erik’s seems to imply this is wasted/futile.
  • This is a playbook for matchers (maybe takers); definitely not for givers (which is my camp).
  • We have all these little games we have to play to manipulate and bargain with one another because we can’t be our true selves at work or among others, lest we lose power or leverage. (See my summary on An Everyone Culture.)

The book is 425 pages, and there’s quite a bit to discuss. The notes that follow are admittedly rather lengthy. They follow the sequence of information presented in the book.


Similar to Eli Goldratt’s The Goal, Part 1 (A Fictional Not-So-Distant Future), starts as a business fable where the main character is meeting with a potential client that needs some software built.

  • “I’ll freely admit that I have no idea what your project is going to cost when it’s done. No one does. And one of the first things that we do differently from those other firms is that we don’t make up a figure for the sake of earning your business.”
  • “The next way that we do things differently is that we invite our clients to consider software development as a service instead of software as a commodity.”

Part 2 starts to break down some of the players in the corporate game. I recall reading Erik’s blog posts about this social structure before it was part of this book, which probably made this section sink in better. I fondly recall Cameron and I reading the source material for those posts (quite a long dissertation, I’ll warn you) and discussing it at length. Here’s the basic corporate hierarchy:

  • Opportunists at the top
  • Idealists in the middle
  • Pragmatists at the base

The pragmatists are generally checked out (they know it’s all a game), the idealists put all their faith in the system and double-down on it, and the opportunists play the game to their advantage.

Erik had quite a few comments on interviewing developers. I’m pleased that there’s growing evidence that brainteasers and logic puzzles are going out of fashion. I was disheartened to see that an approach I used in a previous job isn’t all that effective:

“According to a recent article written by Bock, the best current technique they have as part of the hiring process gives candidates a test that simulates work they would actually do, but it only explains 29 percent of a candidate’s future performance.”

Moving on to the pragmatists, here are a few notes I jotted down:

  • The key for this group is risk aversion; work just hard enough to sustain the status quo
  • Pragmatists care, just not about the job. You tend to remember these people based on their hobbies rather than career ambitions.
  • It takes less work to be “the boozer, the family man, or the woman with the Harley collection than it is to be the aspiring CFO.”

There are some example calculations to describe how the pragmatists trade money for stability. This is where my margin notes got a bit more emotive:

  • In the example, the would-be freelancer hires a salesperson and admin assistant and still has money left over (“assuming he had the upfront capital to pay the workers before leads were generated”). That’s a big assumption.
  • My take is the crux of this argument (which I have written against) is that time is money. It also assumes that billable work is always available.
  • I know they’re contrived, but the example about one worker doing something more efficiently assumes that people are cogs for a company generating a certain amount of money per hour. Maybe that’s the case for certain companies. I believe it’s useful for any individual (regardless of company or role) to understand how they make (or save) their company money.

Erik points out that the three categories are not black-and-white, and that not all companies exhibit that hierarchy; he’s generalizing to further his argument. However, if I had to pick one of the camps I most identify with, it would be the idealist.

“Idealists are the true believers: present, pious, and engaged. To be an idealist is not only to remain enthusiastic about the company but also to believe in its canon, mythology, and cultural norms. And, above it all, it requires believing in the company as one’s career salvation.”

It’s a balance between doing whatever it takes (despite the knowledge that every hour past 40/week is free labor for the company) and being dogmatic and not doing one minute beyond 40 hours/week. My approach is being willing to put forth some extra effort to help the company/team on occasion. Again, there’s an assumption that money is the most important aspect to you.

The opportunist recognizes that “the main fiction of a company is one of fairness and order, neither of which is actually present.” This is based on the company being “pathological;” instead of the pragmatist recognizing it and choosing to check out, or the idealist being blind to it, the opportunist figures out how to game it to his/her advantage. Here are some of my margin notes on this category:

  • The point is that he/she knows the game is rigged (and always will be) and wants to move beyond it. I’m an idealist hoping that the arc is long and bends toward the positive (which has been the case so far in my opinion).
  • People probably aren’t always in one category all the time. (I’ve certainly been a pragmatist before, and some of my position within my current company (at the time of this post) is because of opportunist plays I’ve executed.
  • The idealist in me gets upset at the “cheating opportunists” because they have achieved advancement through hollow means. Consistency is my #4 strength, so I favor meritocracy where possible.
  • You need idealists to keep the long-term focus toward meritocracy. Otherwise, all that remain in the game are the pragmatists who don’t care, and the opportunists who exploit the system to their advantage.

On faux ownership…

  • “Idealists wouldn’t start a company because they don’t have the perspective to realize that they could enjoy success. To them, the path to the top is to hitch on with an existing organization, drink it’s kool-aid, and prove themselves as understudies.” My margin notes say, That’s me! Success is relative, and working with an existing org mitigates a significant amount of effort and risk.
  • On advancement, “Stick around long enough, and you’ll get the leftovers from those above you.” This has happened in previous job, and is about to happen again in my current job. It’s not the best path, but it’s worked really well for me and I’ve been successful at taking on the new responsibility and growing in that new position.
  • “Owners have power. Real power. And the reason I say this is that owners have created situations in which their income is separated from any kind of labor.” (emphasis mine). Is this true? This implies the owner does nothing. Don’t they own the risk and direction?
  • Faux ownership has no power, or owner in name only. I can relate to this at the time of this writing. There are several things I’m responsible for, but have little power to bring about change in those areas.

On the cult of hours…

  • I realize Erik is generalizing about development shops (or companies where developers work) where there is a vast gap between what the company makes and what the employee gets in return. “As a worker, you cease to offer your labor as a commodity. You instead offer yourself as a commodity in exchange for a dependable wage.”
  • He implies that owners pay for people to show up, not to complete tasks. That statement depends highly on the industry and business model of the company. For example, my current line of development work doesn’t align with that at all — I work an hour, my company bills the government for that hour as agreed on our contract.
  • Knowledge workers aren’t day laborers or machines. We need time to coalesce thoughts and interact with other people.

On performance reviews and advancement theater…

  • Erik states that there are two purposes for line-level performance reviews: status adjustment and pay adjustment.
  • I’m pretty much in agreement that the yearly performance review is to tick a box, not to bring about meaningful change. There are other venues to accomplish this (e.g., 1:1s). There’s nothing wrong with yearly goals, but meeting, assessing, and discussing once per year is too infrequent.
  • I agree that it’s toxic for a company to tell people they’re not getting a raise because of arbitrary reasons (e.g., “you need to get better at business values”) instead of being straight with them about the financial situation of the company. People value honesty.

On your company not caring about you…

  • Erik’s answer to who watches the watchers: “After all, watchdog checks-and-balances roles are necessarily organizational overhead, a concern that generally means lower-level management and thus idealists.” That’s currently me, and I don’t know why that’s bad.
  • Company perks have been scrutinized and determined to cost less than turnover. This implies the company only outwardly seems to care about you until its inconvenient/expensive. I’m not saying this isn’t true, but it’s kind of sad. The book’s premise is that you have three common options, with the book focusing on the last:
    • Live with it
    • Work your way into the power structure
    • Leave and do something else

I highly recommend reading all the chapters in Part 3, as they tell the story of over 2000 years of how organizations have come together in the name of commerce to explain how we got to our current state. There’s quite a bit to unpack — guilds, mercantilism, industrial revolution, Taylorism, organized labor — so I read them twice. Having the history lesson of how we got here, why, and what’s carried over from previous systems provided invaluable context. Here are some of my margin notes:

  • The influences on labor and how its treated are a combination of politics and society
  • I believe there are times when society must lurch forward in a progressive way at the expense of greed and capitalism. Until there is equanimity, there will always be a tug of war between the haves and have-nots.
  • The exponential rate of advancement in technology may leave many of our current systems of labor organization outdated. I’m leaving the opportunity open that corporations as we seem them will evolve into something else/better, so I disagree with Erik’s prognosis: “So, are organizations worth our faith? The answer, sadly, is no. And that’s because corporations do a remarkable job of solving the problems of yesterday — problems we no longer have.” Maybe instead of “no corporations”, we consider “not only corporations”, similar to how we think about NOSQL meaning not only SQL/relational — there’s room for both.

Chapter 27 (Succeeding in the Corporate World, Such as It Is) talks about overtime being reserved for things that maximize your position, rather than the company’s. Your mileage may vary; there are two assumptions at work here:

  1. Your company pays you for 40 hours, and they shouldn’t have one minute beyond that.
  2. “…success means moving up in rank, getting as close to an owner position as possible.”

For the pragmatists

  • “Let’s get this over with so I can do other things.”
  • They’ve checked out on being invested in what they’re doing, because they don’t think anything’s in it for them.
  • Success means maintaining a job so that you can do other things outside of work (e.g., fishing)

For the idealists…

  • Success is defined by “valuation at the hand of the company”
  • They say they want advancement into higher positions, but really want acceptance and approval.
  • For better or worse, I wrote “that’s me!” in the margins on this statement: “Success for the idealist thus becomes a matter of doing the work in front of the right people and doing it in such a way as to demonstrate their utter enthusiasm and gratitude toward the company and their superiors. … ‘I’m a very important person at Acme Inc.’ as a core piece of their identity.”

For the opportunists

  • Success is wealth and power (not me)
  • Venkatesh, who Erik cites in The Gervais Principle, uses the term “powertalk”, which Michael Lopp calls “managementese
  • My margin notes say That’s why this isn’t me 🙁 — “You need to stop viewing yourself as an employee of your (or any) company and start viewing yourself as the owner of your own personal brand and operation. You are an island. You are other.”
  • Furthermore, “Pragmatists have each other and their social groups at the bottom rung of the company. Idealists have the company and bask in its identity. Opportunists have no one.”

On the Realpolitik Tragedy of Corporate Scrum…

  • The example of packs of wolves that contain packs of wolves is given to prove a point. However, bureaucracy does exist for a reason — efficiency at scale. “There are packs who do nothing but oversee other packs to make sure that they comply with wolf regulatory concerns and standards and protocols.” I strongly disagree that such things are unnecessary in any context; standards and protocols exist for a reason.
  • I do agree that Agile sometimes gets a cargo cult following; look at what successful organizations/teams are doing and copy that to be successful yourself.
  • I’m getting the sense that Erik probably got burned (or saw it played out) by poor process, thus takes Scrum to task. This topic is a subject for another post: My opinion is that Scrum is a transition process from waterfall to something else (probably Kanban). Any process can be done poorly, so I’ll quote Michael Lopp: “Engineers don’t hate process; they hate process that can’t defend itself.”
  • Again, there are cultures/companies where leadership styles work better or worse (and often those styles need to change over time and with the team), but I was pretty bummed about servant leadership being called an “utter sham.” This style of leadership has been quite rewarding to me personally. In the context of opportunists, it’s probably a bad play because it helps others, not you.
  • I probably don’t have enough grounding in economics, however the concept that developers “subject ourselves to false scarcity, depressing our wages. … we operate as if a good programming job were a scarcity that we’d be lucky to have.” This sounds like a slippery slope to “the world owes me a living.” Developers typically earn a decent wage and the more expensive we get to a company, our replacement by some AI can’t come fast enough to impact the bottom line. After some Googling, I was surprised that developers didn’t make it into the top 25 salaries by US News.
  • Opinion… So long as money is what matters most: “Being a good developer — participating gamely in team activities, learning enough algorithm trivia to pass interviews, being attracted to the best organizations using the coolest tech, and so on — is bad for your career.”

On the programmer’s escape plan…

  • “Being a programmer is career limiting. … And last I checked, ‘senior software engineer’ or ‘tech lead’ are neither owners, executives, nor managers.”
  • Even though I’m probably closer to an idealist, this statement describes my current plan: “Opportunists are busy figuring out how to stop being considered programmers.”
  • In a traditional career ladder, you have to be programming for quite a while to earn your “senior” title or “tech lead”, and then you have the existing idealists to contend with once past those checkpoints.
  • This is also now me… “The opportunist programmer thus learns that it’s better to hang out with the project managers and distance herself from her fellow developers. … The goal becomes finding ways to not participate in the software development process; instead, you must manage it somehow.”

On avoiding the delivery trap…

  • The delivery trap is where you as a programmer are responsible for the actual output, which is the delivery of software. Everyone else trades in estimates and speculations and allegedly don’t deliver anything of value.
  • Knowledge work is non-linear in nature, which is why you can’t estimate it. If you could, it will eventually be automated.
  • If you as a pragmatist developer miss your target, you get admonished by management; if you hit your target, you met expectations and get a pizza party; if you exceed your target, you get a token gift.
  • Although probably true in some shops, the idea of the preferred narrative being the heroic “pull it off at the last minute after all nighters” team instead the “steady and calm” team is not the case where I work. We categorically don’t want teams to do the former; we’d like to have people work they’re 40 hours, complete tasks, and move steadily, then go home.
  • One of Erik’s suggestions about how to get out of the delivery trap is in my playbook: find ways to volunteer for meta processes around software development (e.g., automating builds, helping people be more productive).
  • “…you need people to say of you something like, ‘He’s a decent programmer, but where he really shines is getting the most out of other programmers.'” Done! 🙂

On partnership and transcending the realpolitik glass ceiling…

  • Opportunists should think of themselves as partners (single-person corporations) with the company instead of employees.
  • “The ‘What would I do if I were a company of one?’ exercise is an excellent one for the aspiring opportunist. It provides a mental model for maneuvering away from delivery accountability and escaping line-level roles and responsibilities.”
  • Make it clear to those above you (without being threatening) that you have options.
  • Look for ways to make your boss’ life “better somehow, then look for reciprocity.”
  • My final note for this chapter is that this model leaves no room for altruism; it’s a matcher or taker’s play — only do something if you get something in return or it benefits you.

On avoiding carnival cash…

  • I do like the term carnival cash — corporate perks that have no value outside the company (e.g., special parking space, employee-of-the-month awards)
  • How does each type deal with it? Pragmatists will take it knowing it’s just for show, idealists want to be the ones who give out carnival cash (something a boss would do), and opportunists avoid participating at all (or if they do, they set the budgets for these things).
  • “Work hard to help your boss advance. Work hard to bring in extra money for your department. Work hard to generate internal and external leverage to help your situation. But whatever you do, do not work hard to please some superior in the hopes that they’ll deem you worthy of a raise someday.”
  • When offered carnival cash, deflect and say that it’s really a team effort. To pragmatists you seem magnanimous, to idealists you seem like an idealist, to opportunists you appear to intentionally not value the nonsense.

On the art of no…

  • Erik advises saying “no” to staying long hours at work (and providing free labor). His suggestion of how to fulfill a request to stay late but not actually work seems like you’d have to fake people out pretty well to pull it off… “Instead of spending those extra hours doing anything for the company, work on beefing up your network, looking for other perspective roles/clients, leveling up a skill, or simply doing some personal errands.”
  • Some ways to say no
    • No by counteroffer
    • No by better idea
    • No by negative sell (sort of like reverse psychology: “I can take it on, though Bob seems more qualified… but I know how hard it can be to convince Bob to do anything, even if you are his boss.”)
  • My takeaway was that we have all these little games we have to play to manipulate and bargain with one another because we can’t be our true selves at work or among others lest we lose power or leverage.

On advancement…

  • Look around you (your company or similar in your area/field) and find the “opportunists not directly responsible for delivering anything”. Work backward from their titles, education, and past jobs to see how to get there. The premise is that if you follow the standard ladder, it will take you 30 years to get to the top.
  • Some things that made me cringe…
    • “Imagine the experience you want to have going into that interview and contrive of ways to make it plausibly true.”
    • “On this point, I cannot overemphasize the importance of faking it until you make it. As an opportunist, you simply do not have time to manufacture all the experience you seem to need in order to get these two roles in the next five years. … You’re going to need to jump way out of your comfort zone and you’re going to need to be okay with a bit of creative framing.” My margin notes: “a.k.a. lying”.
    • “If this were a US political debate fact-check, the panel would call it ‘true but misleading’.”
    • “One of the main reasons that engineers are so undercompensated is that we opt to create a cocoon for ourselves where we can indulge delusions of meritocracy and skill directly correlating with value.” My margin notes: “So this is huckster or be huckstered?”
    • “Always say yes to opportunity, even if you have no idea what you’ll do to make it work. You can figure out a way.”
    • “In a corporate setting where the upper echelons tend to be populated by people that you view as self-serving and self-promoting, did you think you’d get there another way?”
  • Erik even calls out that programmers typically avoid this kind of play as it “feels icky”.
  • “If this sounds like madness, it’s because that is madness.” Which leads to his next chapter.

On the madness of it all…

  • He’s not endorsing this kind of behavior per se; he’s upset that we should have to use this type of behavior to get ahead
  • The premises of modern corporations doesn’t help much: growth for growth’s sake, and scale at all costs
  • With the cost of technology and communication continuing to drop, developers can work from anywhere, and that we’re here because of habit: “We’re factory workers that can’t figure out that we own factories.”

On where we go from here and the coming crunch…

  • In pyramid-shaped organizations, “Those who climb the iceberg to get to the top are the ones most likely to choose advancement over the right thing every single time.” 🙁
  • No one has “no boss” unless you’re independently wealthy. When being a consultant, instead of the boss being in the corner office, it’s your client. However, the clients you work with also play in that sphere, so how do you avoid the system?
  • Some reports claim that there will be a shortage of developers because the “world of automation knows no bounds.” The unemployment rate for developers is effectively zero; we have recruiters checking in on us even when we’re employed. The only way to recruit a developer is to poach him/her from an existing employer.
  • As demand for developers grows, so do their wages. Typical bureaucratic (non-software) companies won’t be able to keep up — keeping developers as wage earners will be too expensive. This will drive developers into “three main camps: large software companies, startups and small product companies, and custom app dev shops (including solo freelancers).”
  • “Massive companies have bureaucracies in place that serve two principle purposes: risk mitigation and communication at scale. Both of these considerations are anathema to skilled software development.” I disagree with this statement as it stands. Toxic or ineffective bureaucracies would be unsuccessful. Yet there exist large companies that do produce software while communicating at large scales and managing risk. Also, Erik seems to treat these two elements as if they’re negatives. Companies exist at scale to perform functions that would be difficult if not impossible for a small organization or a single person. And if you do anything — from signing a contract with a client to stepping in the shower — you encounter risk. The larger the company, the more flavors of risk; but risk mitigation is not avoidable.

Traits of opportunists developers (at least the ones Erik chose to interview)

  1. They don’t spend all their time programming
  2. They market themselves
  3. They create content
  4. They are literal opportunists (a.k.a. entrepreneurs)
  5. They manage the pipeline (i.e., choose what they want to focus on)
  6. They have options (i.e., beyond software development)

On being a businessperson…

  • “…in the world of a freelance developer: 1) product/service (“I write code”); 2) operations/delivery (“I’ll deliver the code to you by January twenty-fifth and check in with you every two weeks in the interim”); 3) accounting (“When I’ve delivered the code, I want you to pay me, and I’ll keep track of whether you have or not”); 4) sales (“I charge $100 per hour, but I’ll offer a weekly rate of $3500 and a monthly rate of $12000”); 5) marketing (“Check out my blog and website for tips on writing good code”).” This is why I work for a company. All of these areas are careers in and of themselves!
  • I’ll admit it is useful to understand how each of these areas work, even if you work for a company. That may give you an inkling of whether you’d like to strike out on your own.

On efficiencers…

  • Erik coined the term “efficiencer” to put some more gravitas behind “developer”; it’s someone who uses software to make things more efficient.
  • In short, you as an efficiencer are providing value by automating things because time is the most valuable resource in the digital age.
  • Knowledge work applied to manufacturing “doesn’t work particularly well… if you break a complex operation down to its individual components and then have people specialize in those components, batching the work and letting people get good at tiny slices of it leads to greater efficiency. This works well for stations on an assembly line but not so much for writing software.” On some level this could be true; however, I think large enterprise software projects are too big to fit into one person’s head. For example, where I work our database team does some amazing work that I don’t have to specialize in, which means the dev and DB folks work in parallel and get something on the other end that neither could achieve on their own in the same time.
  • This model assumes developers understand everything about the business side, which seems naive.
  • “We organize and sell labor on the basis of what tools we use while our customers tell us what to do.” Yes, we do focus too much on selling the how.
  • When you start talking about money, it’s not about labor: It’s about your expertise in making something more efficient.
  • Hourly billing can be painful because when the customer is paying by the hour, “it’s the only measure they have for managing risk” and they have a vested interest in knowing what every hour they buy is getting them.
  • Value-based billing — you charge based on what the delivered thing is worth to the customer
  • Principles of efficiencer firms
    • Bootstrapped and profitable from day 1
    • Members are partners and all have skin in the game; they delegate to vendors instead of hiring pragmatists
    • They use trials, recommendations, and networking as interviews
    • Everyone’s contributions to the company’s profit can be easily measured
    • Only hires other opportunists
  • You’ll still have some need of bureaucracy because you’re dealing either with partners or vendors.
  • Erik closes one of his chapters by addressing some objections about being an efficiencer firm. One argument I thought was not well constructed was the one about “I need the stability of a paycheck and efficiencer firms don’t offer that.” He cites Matt Heusser (interviewed for the book):

“Financial security is an illusion. Worse, being an employee is a huge risk. Consider two people, both making about the same per year. One is a freelancer who has about ten customers, with the largest being no more than 25 percent of his income. The other is an employee with ONE customer who gives him 100 percent of his income. Who is more at risk? The employee.”

  • True, in a pure numbers game, one egg is riskier than ten. Maybe it’s just my naivete, but I don’t know many freelancers that have maybe more than 2-3 gigs. I hear them mention work drying up or having to go look for clients more than full-time employees saying the same.
  • I find it amusing that the book touts the benefits of developers taking everything into their realm — development, operations, accounting, sales, marketing — yet says “civilization requires specialization”; put another way, we benefit from letting people specialize and then grouping specialists together (because no one person can know/do everything).
  • I agree with Erik’s assessment that CS grads are typically useless when it comes to understanding tools of the common workplace. There is certainly a place for academics and research, and there are exceptions for certain schools or individuals. In my limited experience, most degree-granting institutions don’t want to dirty their hands with the vocational knowledge.
  • So what about efficiencer firms dealing with newly minted developers? Do those firms have any use for newbies? “Not much, honestly.” My margin notes… “So there is a place for those shitty corporations: to bear the risk of raising the young so you can take those folks later!”
  • “I mainly think that the efficiencer firm will start to replace the staff of developers that you see at non-software companies: banks, manufacturing companies, retailers, and the like. At organizations like that, software development (and IT in general) is what’s called a cost center.”
  • A list of things you can do now…
    • Train yourself as an efficiencer at your current job by looking for ways to automate
    • Avoid non-competes and other such policies
    • Stay away from big companies
    • Don’t engage in interviews that focus on trivia/algorithms
    • Realize that tech giants aren’t all that great either
    • Find a job that gets you out of your current one
    • Apply to non-traditional companies or smaller app dev shops
    • Start working from home
      • Caveat from Geoff: I disagree that “gossip with Susan” is solely useless, where idle chatter is waste for a developer/efficiencer. This implies there is no value in bonding with your tribe because you’re just a laborer.
    • Start a blog
    • Start a side hustle

On the fate of pragmatists, idealists, and opportunists…

  • “…we programmers have been dutifully automating legions of pragmatists out of jobs.”
  • “…efficiency is perhaps the single most valuable commodity in the modern world, considering time is the nonrenewable resource for which all of us would go around the ends of the earth to get more.”
  • “For pragmatists, organizations take hope but provide stability in exchange. From idealists, they take perspective but provide a feeling of significance. From opportunists, they take the ethical high ground but provide lower risk opportunity.” So organizations are bad because they provide what seem like pretty positive aspects such as stability, a feeling of significance, and lower risk.
  • I concede that there are some organizations where having IT and business people be two different entities is not ideal. I disagree strongly that managers on the whole are useless; to do large scale work, you need more people — and there are several articles out there about how the flat (holocracy) model works well on paper but breaks down because humans are humans.
  • I’ve met countless developers (I guess Erik would call them pragmatists) who have no interest whatsoever in being jacks of all trades. They trade more money for piece of mind knowing someone else is figuring out the business part.
  • The supposition that everything will become decentralized (i.e., no non-software company employs developers, meaning they instead use efficiencer firms as vendors). Things often diverge instead of being replaced. It reminds me of NOSQL, which means not only SQL instead of no SQL. Maybe there will be fewer companies that have a dev department, but I doubt they’ll disappear entirely.
  • Another comment Erik makes about scaling Agile I think is not correct. Just like object-oriented software, there’s a spectrum — a few components that do too much and are highly coupled, to multiple simple parts that now need to coordinate to perform the same job overall. When something gets large enough, there needs to be coordination — centralized or decentralized — but there’s still coordination.

On the interviews in the appendix…

  • James Grenning
    • “Several of my colleagues, when they got into management roles, let their technical skills go.” This reminded me of when I heard about Atul Gawande’s distinction between cowboys and pit crews. It’s no longer realistic for the person at the top to do every job below him in the org chart — things are too complex.
    • “Sending checks to the government to pay taxes is horrible. So is sending money for health insurance.” Typical capitalist response. I hope you enjoy those maintained roads you drive on, the clean air you breathe, and not having to defend yourself in a war. Rant over.
  • Matt Heusser
    • “Plus, the company doesn’t want to pay for your twenty years of experience that’s five of COBOL, five of C, five of early web development, and five of recent relevant responsive design.” Sure, because the only value you bring is raw skill. Absolutely nothing you’ve learned thus far will be useful or guide your opinions and learning approaches. *rolls eyes*
    • I agree with Matt’s suggestion to step back from technology and focus on solving business problems.
    • “…I’d build a cash moat around your business — more than as much cash as you’d get in a year of unemployment, at least six months of expenses.” Maybe it’s because my financial situation is very different, but it took me quite a while to come up with three months; a year is inconceivable at this point. Good on you if you can achieve that goal, though!
    • “I would start by saying that financial security is an illusion. Worse, being an employee is a huge risk.” The first part is true — there’s always something to take your money away from you. The latter part I disagree with. You can make the equations come out in favor of that argument, but I’ve seen plenty of examples through colleagues and from some contract work I did in the past that show the freelancer takes on a lot more risk. When you’re just a “vendor”, you get paid last (assuming you get paid at all — I’ve seen that happen plenty of times).
    • “The employee has two, perhaps three advantages: the idea that he is secure, so he can breathe, and stop at 5:00 PM. Really, that is permission to be lazy.” Yes, not working all the time is lazy. Don’t even get me started on that rant.
    • Matt implies that working as an employee is equivalent to giving up freedom, and he finishes his interview by saying developers should “take it back”. Except, that freedom isn’t free. You can have it, but there will be risk you’ll have to take that you wouldn’t otherwise see.
  • Thorben Janssen
    • I like his idea of trying out several things… an evening project, publishing an article, speaking at a conference, leading a training. Thorben states this can help you find what you like; I’d add that it helps you find what you don’t like as well, which is equally important.
    • “I know of several companies that laid off a good number of their employees without any warning. And I don’t know anyone in our niche who worked at the same company for twenty or thirty years.” Ah, yes — the old “I can’t think of an example, therefore it doesn’t exist” argument. I know several companies that did right by their people before layoffs — I work at one of them. The company I work for also has several long-term developers that have grown with the company in their tech skills.
  • Sally Lehman
    • “I love technology, but I ultimately care about being in a healthy working environment more than technology.” A thousand times yes!
    • “I think if you are well compensated enough, it’s reasonable to expect that you devote all the time and mental energy that you have reserved for work to one company.” Agreed. There are countless articles about how multitasking is not effective, and I’ve worked with some contractors who had multiple gigs, and I could tell their capabilities were pulled elsewhere.
  • John Sonmez
    • I usually don’t care for John’s approach, as he comes across as a used car salesman to me. That being said, I can see why Erik is enamored with him, as that’s an opportunist play to always be hustling. I almost skipped over this chapter, but I wanted to give everyone a fair chance. John had several spot-on points.
    • “Being an employee is a perfectly valid choice — especially if you are highly risk averse.”
    • “Expect programming to become more commoditized over time — especially as general education increases. It doesn’t mean you can’t do it. It doesn’t mean you can’t love it.”
    • I like the idea of keeping your employer-bound job while doing a side gig. It lets you know if you can commit the amount of time (about 50-60 hours per week) on a consistent basis. Plus, if your idea doesn’t pan out, you still have a paycheck.