Stories about Software


The Nature and Eventual End of the Journeyman Idealist

This is part 3 of the series about journeyman idealists.  You can read part 1 here, and part 2 here.

Hiring Ditch Diggers

We toil in an industry that loses sight of this basic problem, and no wonder.  In a simple scenario like that, we can reason about value.  But I’d like to employ an allegory to show how opaque that reasoning becomes at scale.  And in that opacity, the journeyman idealist reigns supreme.

Let’s say that I need to have a ditch dug in front of my house, and I have two competing laborers willing to do it.  The first one talks enthusiasticilly about soil aeration and the mineral properties of dirt in the area and whatnot.  He talks about the real craftsmanship that goes into ditch-digging and how people don’t realize that.  The other guy charges a few bucks less per hour, so I hire him.  How hard can it be?  And, besides, I can look out my window and see how it’s going.  If he fails and the ditch caves in or something, I can call the other guy that likes to ramble on about soil.


But now imagine that I can’t actually see any of the progress as it happens, and I will only know if it went well when one day, either sewage backs up into my toilets or not.  Wow, okay.  Same labor proposition, but with opaque progress and all-or-nothing results.  Earthworm Jim now sounds more appealing.  I have no idea how Jim’s knowledge translates into money or outcomes, but I take it on faith.

Journeyman Idealist Ditch Diggers

Now imagine that instead of my house, I run a massive construction company and I’m building several developments simultaneously.  Jim is my digging foreman, and I trust him to make sure we dig ditches.  Jim asks people lots of questions about topsoil acidity and demands they estimate how many aphids could fit onto a leaf.  All of that seems kind of stupid to me, but what do I know?  The ditches get dug, so it must be working.  And, besides, for some reason every ditch digger around seems to want to work here because we have “interesting soil” and Jim uses that outsize demand to tell them that aphid-know-nothings like them deserve to start at a lower pay grade.

I have hired, in Jim, a journeyman idealist.  And he hires in and indoctrinates more of the same.


In 2014, Apple, Google, and some other companies settled a lawsuit, tacitly conceding to a scheme to depress software developer wages.  Let me be clear about that.  Competitor companies that put a leash on interviewees and make them do whiteboard tricks like trained seals colluded to underpay those lucky enough to make it through.  As an industry, though, we collectively shrugged and kept showing up for that.

Those companies are me in the allegory.  They actively depress their employees’ wages, and people keep showing up there anyway, because of the opportunity to work with smart people or because of the prestie or because getting through the Google interview process is worth as much cred as like 50,000 stack overflow points.  I honestly don’t know the reason, and it probably varies, but people just keep showing up.

This creates pockets of excessive supply for work at those organizations while, worldwide, thousands of programming jobs go unfilled because we simply do not have enough programmers on Earth to fill them.  Why do we do this?  Obviously not for the competitive pay at those organizations, who literally break the law to underpay their employees.

Journeyman Idealists as Self-Defeating Gatekeepers

It’s journeyman idealist culture.  We create artificial bubbles of scarcity and then foolishly and ruthlessly compete within those bubbles.  And because those organizations hold positions as influencers and because we work in an industry that attracts competitive cravers of “meritocracy,” journeyman idealist culture spreads and pervades the industry.

We want a world where more programming skill means more money, and we have the global muscle to make organizations of the world humor us.  But, sadly, we don’t recognize that the only way they can humor us is by under-compensation across the board.  And to add insult to injury, we justify our own under-compensation with ludicrous competitions so that no external party need even bother fabricating an explanation.

Am I a Self-Hating Developer?

I’ve written a lot in this series of posts, and I’d like to pause a bit and speak to my own motivations.  I post all this not out of bitterness, but out of sadness with a call to action to follow (see my book for that).  I don’t personally have a programming job, nor do would I bother to interview for one.  As a free agent, content creator, trainer, and management consultant, when I enter organizations, I form relationships well above the self-jailing journeyman idealists.

And regarding all of the ranting I do against getting hyper-good at programming and “geeking out”?  (…holding my nose because I do not like that term).  I blog routinely about the finer points of static analysis.  I earned two CS degrees and very nearly a math degree.  And I love reasoning about absurdly technical concerns and the intersection of math and computer science.  I unashamedly enjoy that and would not begrudge anyone the same, for a second.

But I’m not making the case that I should be hired and compensated because I happen to have read about arcane algorithms.  I view going off on these tangents and self-indulgent and tangential to me earning a living, and definitely tangential to taking someone’s money.  Large organizations have the value opacity and market cap to assume that somehow think-tank stuff will pay off.  I don’t relish the thought of taking their money on the off chance that’s true.

Where Do We Go From Here?

I’ll admit that I speak to this in a lot more detail in the upcoming book, but it felt good to type a protracted rant to the blog.  I haven’t really gotten to do nearly enough of that lately.

Moving away from journeyman idealist culture won’t necessarily happen quickly or easily, but I think it will happen.  As an individual, here are some things I offer as final food for thought.

  • Have more confidence in yourself.  You shouldn’t have to perform mental parlor tricks or answer inane questions for a job.  A job at AwesomeTech, maybe.  But way too many openings exist for you to need to put up with cute interview questions.
  • You don’t need to work at a tech titan.  Many people go work their to write their own ticket, but that’s paradoxical.  If you get hired by “the best” you have just demonstrated you can get hired by the best.  Having that on your resume become academic.
  • If you work somewhere with oppressive journeyman idealist culture above you, explore some roads less traveled by the business.  Hang out with the sales people or the marketing group or something.
  • Get really good at programming for the love of the game, absolutely.  But don’t expect that you deserve more money for it, unless you can actually demonstrate that you’ve saved someone money or made someone money.
  • If you want to make the case that your skill should earn you more money, use it to train and mentor other developers.  Leveling up half your department has a pretty visible ROI.  Fixing some arcane, low priority bug that no one else could solve for the last 6 years does not.
  • Maybe back away from the more competitive forms of the industry that make it seem like a sport.  Teach people, write papers, or build stuff instead.
  • If you’ve realized in reading this that you qualify as a journeyman idealist, think less about obsessing over disqualifying people and more about helping them get better, learn more, and earn more.
  • Understand that within our industry, work is positive sum.

More to follow in the year to come, and definitely more in the book.  Thanks for indulging me in this odyssey through what frustrates me currently about our industry.

Read More about This

Since the post series/PDF thing has gone so well, I’m going to make it a little more permanent.  I’ve refined the process a bit as well.  Sign up, using the form below, if you want to read a whole lot more on related subjects here.  In the sign-up process, I’ll send you an email with an 11,000 word PDF, taken mostly from my book, Developer Hegemony.  Don’t worry if you’ve already signed up for my list and/or the PDF series.  As before, you’ll just get the content without being doubly signed up for the list (I’ve tested it myself).

Want more content like this?

Sign up for my mailing list, and get about 10 posts' worth of content, excerpted from my latest book as a PDF. (Don't worry about signing up again -- the list is smart enough to keep each email only once.)


Newest Most Voted
Inline Feedbacks
View all comments
David S
David S
7 years ago

Hi Erik! As always, I appreciate your insightful analysis! This has been a really enjoyable essay to turn over in my head for a few days. It’s one where I agree with almost every point you make, but I’m not sure I come to exactly the same conclusion. I have come to agree that even the best job interviews are mostly worthless (and most job interviews are worthless at best). And I agree that the habit of developers trying to elevate themselves by kicking their peers down, in ways like participating in “360 degree performance reviews”, asking tricksy interview questions,… Read more »

Erik Dietrich
7 years ago
Reply to  David S

I’m glad you’ve enjoyed the read. It’s been sort of interesting to get out in a post. I talk about the journeyman idealist in my book, but not in this much detail, so I sort of forget exactly what I’ve talked about and exactly where. I think of “regular” idealists as standard corporate folks who cede perspective and over-perform in the context of the organization for what they get in return (e.g. they’ll work 60 hour weeks for years and memorize all of the corporate jargon in non-critical pursuit of a slightly earlier promotion.) I think of “journeyman idealists” as… Read more »

David S
David S
7 years ago
Reply to  Erik Dietrich

Hey, Thanks for a thoughtful reply! I think you summed up my argument pretty well. Actually, now that I think about it a little more, I think I see your point. It’s probably a Pragmatist move to be content to top out in a role with average pay and enjoyable projects. But you’re right, its certainly a perspective-lacking idealist-type move to put in 20 hours of overtime a week practicing trivia for interviews and building a presence on GitHub, all in the hopes of someday receiving a heavenly reward in the form of a job with a big-name employer….. And… Read more »

Francis Musignac
Francis Musignac
7 years ago

Very interesting topics. Looking forward to the book.

Erik Dietrich
7 years ago

Thanks! I’m working busily on it, even if I’m not yet showing it with Leanpub updates just yet.