Coasean Inversion

Considering the conditions under which it's actually cheaper (easier, quicker, etc.) to pitch client projects than it is to apply for jobs.

I mentioned a couple missives ago that I had begun to sniff around the possibility of an ordinary jay-oh-bee, a decision largely driven by transaction costs. The work that I’m best at is esoteric, and even in the best of times, highly contingent on finding people in leadership roles in organizations, with idiosyncratic needs, in control of enough money, with nothing more pressing to spend it on. So the global pandemic has unsurprisingly been a suboptimal backdrop against which to peddle my wares.

That said, my recent experience with the job market has only reinforced my conviction that my earlier skepticism about the commensurability of pitching prospective clients and looking for full-time employment is well-founded. To wit: they superficially seem compatible—they’re both about getting money after all—but they are actually not.

For example, I have been completely submerged for the past two weeks with a technical take-home exercise as part of the interview process for a senior developer position. To the company’s credit, they proactively acknowledged the tendency of this pandemic to interfere with deliverables, and were extremely gracious with the deadline, insofar as they told me to take all the time I needed. (One would hope they would have notified me if they chose somebody else while I was working on their deliverable, but their receipt of my deliverable implies I’m still in the running.)

Indeed, I probably would have finished the job last Tuesday, but for getting boned by a third-party bug, and then meatspace getting in the way.

Now, these folks specifically asked for a product that was written “as if [I was] intending to put it into production.” To me that has one, and only one interpretation. I write a heck of a lot of software libraries, and production means a packaged module with tests and documentation, that can be installed just as easily as anything else off the internet. I have actually timed myself on this category of task, and my absolute quickest turnaround time from zero to packaged module with all the trimmings online is about ten hours. That represents a teeny tiny module in a daily-driver programming language with muscle memory on all the tooling. That really is only for the absolutely smallest stuff though; I’d say my median is at least twice that. This beast took two full weeks.

It was fortuitous that I was in a position that I could donate 70 or 80 hours to a programming test, but I don’t think I could spend that much a second time. It wasn’t a complete sunk cost: over half of the time was bootstrapping capability on the order of “I know what I want to say in other languages/frameworks/databases, how do I say it in this particular one?” That I can carry forward, I suppose. Another chunk, however, was fixing busted third-party code I will probably never use again. (Actually, said third party pushed a fix just as I was packaging my product up to ship.) A hypothetical minimum viable product that responded to the brief—frictionless, perfectly spherical and in a vacuum, correctly packaged with tests and documentation—I figure would have probably taken about 24 hours, amortized over three or four days.

I suppose I should get to the point: I delivered to these people what I would have put online or delivered to a client. I delivered what I would have wanted to see if I was the interviewer. The work product, however, has no value outside this one demonstration for this one prospect. It’s analogous to a pitch deck, and needs to be priced as such.

I offered to port one of my many existing open-source products to the programming language of their choice, but they politely declined.

This brings me to some work that I was doing when this opportunity came along: designing a computational model for auditions, pitching, or any speculative job-getting scenario in general. It treats the pitch as a bet denominated in hours, and tries to model how many bets you can place before you run out of inventory✱. Then it weighs that against a stochastic payout. The hypothesis is that for a given set of parameters there is a performance envelope that is viable (or not!) and some sets of parameters are more viable (and more lucrative!) than others. I should be able to estimate the contours, for example, around how many hours is appropriate to invest into getting a particular six-figure job, or four, five, or six-figure contract.

✱ Complicated by the fact that the inventory you consume through pitching is the same inventory you need to do the work.

The title of this newsletter is Coasean inversion. This is a term I coined a while back to identify what I have long suspected is happening in certain fringes with full-time employment versus contracting a specific product or service. It hearkens a famous paper by the economist Ronald Coase called The Nature of the Firm✱, which is what it sounds like: a structural (but definitely not historical!) analysis of why corporations exist. The TL;DR is it’s too expensive in terms of transaction costs for ordinary people to contract point-to-point for everything, so you define a special kind of contract that lets one party direct the other as needed. The dispatching apparatus is the firm itself.

✱ Note this is not the famous and widely misunderstood Coase Theorem, which is also (in part) about transaction costs. This is the other paper.

I found Coase’s characterization of employment contracts to be really interesting. His central insight is that if you need something done, the effort it takes to:

  • articulate the problem,

  • identify and locate somebody—preferably several—to do the job,

  • vet and rank the candidates and their bids,

  • negotiate a contract…

…is significant. The resulting contract is defined in positive terms, i.e., to do a specific thing for a specific compensation, so this process has to be repeated for everything you need done. An employment contract flips polarity: it keeps the specific compensation, but defines the obligations in negative terms, i.e., what services the compensator is not entitled to demand. And the argument—from 1937—is that this arrangement is considerably cheaper to organize. And it undoubtedly is—for firms—you know, the entities that are only supposed to exist to organize this kind of arrangement.

Indeed, the bullet list above reads a heck of a lot like what companies already do when seeking job applicants, which, while the cost can be absorbed, is actually hugely expensive in real dollars and the time of existing employees, to say nothing of the opportunity cost of the vacancy they’re looking to fill.

The individual on the other side of this equation has considerably fewer resources with which to gamble. A job application is by definition not something you can delegate. It can take weeks or even months of iterated correspondence, interviews—potentially involving travel—and various kinds of tests. In some jurisdictions and/or domains it is also customary for employers to make intrusive demands for individuals’ credit scores, or even medical tests of one form or another. The application process is likewise nowadays carried out mainly through certain intermediaries, accounts which you have to set up and maintain.

When compared to other kinds of pitching, applying for a job is ostensibly really expensive. Ah, you say, but the payout is so high! $X a year in perpetuity! Benefits! Maybe stock options! You could be a millionaire! Well, no. For starters, the whole “security” argument of FTE is nonsense: you may know where your next paycheque is coming from, but you can’t say the same for the paycheque after that. The organization could fold, get acquired, undertake mass layoffs, all things that you will be the last to learn about, have no control over, and relate precisely zero to your own performance. You could end up hating it. They could end up hating you. An appropriate discount for a job, I therefore submit, is a quarter of the gross annual salary (assuming you are paying taxes one way or another), or what you would be paid for your standard three-month probationary period. Everything else gets discounted to zero until you pass that point.

I should remark that I am not fettered in the same way I would be if I was living in the US, where having a full-time job is the only way for most to obtain health care. At the very least this state of affairs significantly raises the floor for being self-employed.

What this entails is that pitching a $120,000 a year job should be compared to pitching a $30,000 contract. (Or perhaps a little more, considering there is also risk embedded in the latter.) And this is where the Coasean inversion becomes apparent: it’s a heck of a lot cheaper to pitch a $30,000 contract, even taking into account the fact that you would need four of them to equal the income from nailing—and keeping—the job.

The other main distinction of pitching contracts is that most of the material is reusable. A couple years ago on Jorge Arango’s podcast, Kevin Hoffman intimated a strategy for getting his pitches turned around in two days or sooner. It involves having a constantly-accreting grimoire of prefabricated content he can just pull from. I myself get business from putting artifacts—like this pitch-simulating engine I can now get back to—out in public. The number of times people have approached me asking something like “that thing you made, can you make one like it for me?” is considerably larger than zero.

Pitching FTE, by contrast, is a much larger, illiquid, and more undiversified time investment. It’s done through channels, according to a strict de-facto protocol. Nobody cares about your unique contributions—like your newsletter, lol—until much later in the hiring process. It’s enough of a challenge just to get your résumé—perhaps your only reusable materiel—even looked at by the right people, especially if you don’t have an advanced degree. And the work of getting a job is totalizing: no matter how gracious the prospect, these technical take-home tests are still a race against time, because the prospect can bail out at any moment by hiring somebody else. This is before considering the process could spontaneously abort later on with oblique claims about “culture fit”, or the always-fun surprise hiring freeze.

Word to Leah for reminding me about that last one.

This is what I mean when I say I suspect these two categories of activity—pitching contracts and applying for jobs—are incompatible, at least given the parameters I’m currently working with. Well, my application is in the pipe. Now that I have my time back, I can get back to finishing that simulation so I can get a better sense of the extent.

PS: When I went to write the unit tests for that technical exercise, I ended up blurting out a short meditation on software testing at the top of the source file, which would never see the light of day if I didn’t pull it out and put it online. So you can see that over here if that’s your kind of thing.