Stories about Software


The Journeyman Idealist: Architect of Programmer Paycuts

A couple of months ago, I mentioned that I’d be featuring more cross posts so that I could concentrate on my book.  I’ve lived up to that, mixing in the occasional answer to a reader question with posts I’ve written for other sites.  I haven’t queued up a good old fashioned rant in a while, but I think it might be time.

I want to start talking about topics from the book, and this particular topic, the “journeyman idealist” has relevance to a number of different, random conversations I’ve heard of late.  Don’t worry if you don’t know what “journeyman idealist” means — you shouldn’t because I made that up while writing my book.  And I’ll get to that and to our self-defeating pay tendencies a bit later.

Hourly Billing

Recently, I have consumed a great deal of content related to freelancing, consulting, and billing models.  This includes the following items, for those interested.

As I fall further into this rabbit hole, I become increasingly convinced that billing by the hour for knowledge work is a pile of fail.  Jonathan Stark of “Ditching Hourly” makes the case more eloquently in this episode, but I’ll offer a tl;dr.

Let’s say that a prospective client comes to you and says, “I want you to build me a website.”  Great!  Let’s do some business!


Hourly Billing as a Zero Sum Game

At this point, you begin to think in terms of cost and how high you can go above it.  For the purpose of your business, this means “what is the minimum amount for which I will do this project?”  The client begins to think in terms of value and how far they can go below it.  For them, this means “what is the maximum amount I can pay and still profit?”  Perhaps you won’t build the site in question for less than $10,000 and the client needs the figure to be less than $100,000 for the venture to bring a profit.  Thus if you agree on a price between $10,000 and $100,000, you both benefit, though the amount of the benefit will slide one way or the other, depending on how close to each end point you settle.

If you were selling websites as commodities, you’d haggle, then settle on price, as with a used car.  But building custom websites by the hour differs substantially.  In that world, you strike a deal without agreeing to price.  You just both hope that when the dust settles, the price tag falls in the range of mutual profit, and no lawsuits commence.  But within that range, each party hopes for a different end of the spectrum.  And what’s more is that neither party knows the other’s figure.  You know only that you need more than $10K and client knows only that it needs less than $100K.

As the website provider, you want the project to take as long as possible.  It needs to go sailing past $10K, and hopefully as close to client’s upper bound as possible.  The less efficiently you work — the more hours it takes to build the site — the better your financial outlook.

Wage Labor as a Zero Sum Game

Salaried, exempt knowledge work takes the hourly billing problem and feeds it steroids and crack.  The hourly contractor paradigm forces you to choose between your financial best interests and your clients’ — a classic zero sum game and conflict of interest.  The wage labor paradigm takes that conflict of interest and changes the scope from “website” to “forever.”

Employees have incentives to minimize labor per hour while companies have incentives to minimize wage per hour.  This is not to say that everyone working for companies goldbricks — far from it.  Rather, I intend to point out that the hourly structure encourages goldbricking and more or less relies on the honor system to prevent it.  With client-contractor, both parties have limited scope.  With wage labor, not so much.

Let’s look at the flip side of incenting employees to goldbrick: incenting companies to depress wages.  Individuals have ethics and pride that prod them away from goldbricking.  Companies have neither.  The best they can do is hope to have individuals with both in all of the right positions to make a difference for employees.

The Incentives for Wage Depression

Employees utterly lack the wherewithal to value price (or fixed price) their labor.  The corporate world and labor laws simply don’t work that way.  And, with the possible partial exception of salespeople, organizations really have no idea how much value individual employees bring.  So wage labor essentially entails the “let’s build a website” paradigm, but where none of the parties understand cost or value.  All that remains is the adversarial relationship between an individual human and a complex, algorithmic composite of humans, laws, and processes.

Companies, operating with cold rationality, depress your wages.  Their ideal operation regarding employee wage takes the form, “what is the least marginal pay I can offer an employee to stay and continue performing a job.”  Go too low, and they quit, which means cost of turnover.  Or, they become dissatisfied and start to goldbrick in earnest.  The company wants to find that sweet spot (not that an individual manager operates this way — I’m talking about the incentives for the corporate entity)

(Some of) The Mechanics of Wage Depression

From here forward, I’m going to use terms that I defined on this blog a while ago.  They also form the basis of my book, Developer Hegemony.  I won’t rehash those here except to say that you should go look at the definitions for opportunist, idealist, and pragmatists as denizens of the corporate world.


Opportunists in managerial/executive roles understand the wage depression game explicitly.  Benevolent ones go to bat for people they care about while the rest shrug and navigate their careers.  But both sets of opportunists create bogus meritocracy narratives for idealists and dispatch the idealists to deal with wage laboring pragmatists.

Let’s consider a tangible but made-up example.  Opportunists, faced with a down year and minimal budget for COLAs, don’t say, “line manager, figure out how to underpay your direct reports.”  Instead, they tell the idealist line managers something like this.

People that exhibit our core company value of “customer focus” help our bottom line lead this company to where it needs to be.  We can’t afford to promote people that don’t have an excellent score here.

Executive opportunist knows lack of revenue (and thus budget) has nothing to do with the mushy concept of “customer focus,” whatever that means.  But that’s the story that idealist manager hears and internalizes, and then sets about adjudicating soberly and earnestly.  Lack of company funds gets laundered through the idealist layer and becomes lack of employee and interviewee skills.

The Stock Idealist

Idealists drink the company kool-aid.  They work long hours, believe in the company’s “values,” subscribe to the founder mythology and buy the essential meritocratic structure of advancement.  Of course they do.  Opportunists select them for low level management positions for precisely these qualities.  Here, their blind faith in the company insulates realpolitik opportunists from cynical, checked out pragmatists.  It’s much harder for line level people to become bitter when the face the company presents to them as boss gives his life and firstborn to the company.  Who better to bear the news of “you need to come in on Saturday” than a guy who also comes in on Sunday and thinks he’s curing cancer for doing so?

The idealist acts as the earnest, sympathetic messenger of all things wage depression.  They fill out your perf review punch card, earnestly believing that failing to “exceed expectations” in ” communication skills” makes you worth 50 cents less per hour.  They believe you need to dress for the job you want.  And during salary negotiation, they indignantly exclaim, “oh my goodness, you don’t even have skill X and you want an extra 2K per year — I’m going to have to run this all the way up the ladder!”

The “kind face of bad news” constitutes a core part of the (unwitting) idealist entity.  Opportunists have to rise through the ranks as well.  But even before they outflank idealists and secure promotions above idealists, they have little trouble avoiding the piles that idealists willingly step in.

The Dev Manager Idealist

In just about every line of work, idealists follow a short but sweet career path.  They go from “trying way too hard line level worker” to “trying way too hard line manager.”  And usually, that’s it.  Enthusiasm, encyclopedic knowledge of the company’s acronyms, and dogmatic belief in the mission and values generally don’t land you in the C-suite.

Idealists exist in our midst as well, programmers.  They start as team members and, eventually, acquire some direct reports and real organizational responsibility.


Expert beginners generally fit the profile.  They hang around for a long time, wildly over-valuing their seniority and contributions.  After enough years with the company, driving most competent developers out, upper management opportunists sigh and hands them de facto promotions.  Like all idealists, they use circular reasoning to make sense of this.  Of course the company is awesome — it was smart enough to promote them.  Of course they’re awesome — they earned a promotion.

But programmers have created an extra layer of idealists that do not exist in any other profession.

The Journeyman Idealist

Ever since Frederick Taylor created “Scientific Management” executives and owners have tapped the more genteel grunts to lord over the true grunts.  Fast forward 100 years, use the same basic management principles, and you have today’s situation.  Opportunists unambiguously create and cultivate idealists using corporate mythology, founder worship, and tactical over-promotion.

Bet we software developers have done something fascinating.  We have crowd-sourced idealist creation to the pragmatists of our profession.  Opportunists and even idealists can only watch in muted bemusement as we tell them, “don’t worry guys, we got this — we’ll devalue ourselves and depress our own wages for you.  Just kick back and relax.”

The journeyman idealist, unlike his standard idealist manager, puts weak stock in his, or any other, company.  You see, the journeyman idealist knows that his boss has it wrong.  The company doesn’t provide and promote according to a true meritocracy.  Rather, our industry does that.  Where the stock idealist belives in the fiction of “my company as meritocracy” the journeyman idealist believes in the fiction of “my industry as meritocracy.”

And boy does he defend his territory in it with a vengeance.  And boy does he settle for penny ante influence within his organization as a consequence.  When you, as a programmer, tell an executive to make a candidate a reduced offer because he doesn’t know that best case sort of a tree is O(n log n), you may as well be telling him that he shouldn’t make competitive offers to anyone without at least a level 80 fire mage.  He’ll hide a smile and say, “oh, of course — give ’em hell, Poindexter!”

Until Next Time

Editorial Note: I started this as a single post, but it wound up being about 5000 words — more than 3 times the size of a normal post.  So, I’ve turned it into a series.  This is part 1, and I’ve added parts 2 and 3 to my post schedule over the next few weeks.  You can stay tuned for those when they come out.  Or, you can have the whole thing now.  Sign up for my mailing list below, and I’ll send you the full post as a PDF.  If you’ve already signed up and want the PDF, just go ahead and subscribe again.  I’ve tested it — you won’t be registered twice.

Subscribe to the Mailing List...

...and receive the rest of this post now, instead of waiting a few weeks for it to come up in my post rotation. (If you've already subscribed, just submit again to receive the post, but don't worry -- you won't be registered twice. I've tested that with my own email addresses.)