Yak Shaving

/yak ˈʃeɪ.vɪŋ/ · Noun · Idiom · Hacker Culture · Origin: 2000

Definitions

  1. Yak Shaving describes the phenomenon of performing a seemingly endless series of small, seemingly unrelated tasks that are prerequisites for the actual task you set out to accomplish. The term was popularized by Carlin Vieri at MIT and references a Ren and Stimpy episode. A classic example: you want to deploy a feature, but first you need to update the CI pipeline, which requires upgrading a dependency, which needs a newer compiler, which requires updating the OS, which means migrating to a new server. Each step is individually rational, but the chain of dependencies has taken you absurdly far from your original goal. Yak shaving is particularly common in software development due to the deep dependency chains in modern tooling and infrastructure. Recognizing when you are yak shaving is a valuable skill, as it allows you to step back, question whether each step is truly necessary, and sometimes find a shorter path to the original objective.

    In plain English: When you sit down to do one thing but realize you need to do another thing first, and another before that, and another before that, until you've forgotten what you originally wanted to do.

    Example: "I need to deploy the fix, but first I need to update the CI config, but first I need to upgrade Node, but first I need to fix the Dockerfile, but first..."
  2. As a verb, to yak-shave means to work through an absurd chain of prerequisite tasks. Often invoked when explaining why a simple task took all day. Recognizing you're yak-shaving is the first step; stopping is much harder.

    Example: 'I just needed to update one dependency but ended up yak-shaving for six hours — upgrading Node, fixing the CI config, and migrating the test runner.'

    Source: verb form

Etymology

1991
Ren & Stimpy airs 'Yak Shaving Day' episode
~2000
Carlin Vieri coins the term at MIT AI Lab
2004
Seth Godin's blog post brings it mainstream
2010s
Enters everyday developer vocabulary worldwide

Origin Story

A Ren & Stimpy cartoon, an MIT hallway, and infinite procrastination

The term "yak shaving" traces back to a 1991 episode of *Ren & Stimpy* called "Yak Shaving Day," where characters perform absurd rituals. The episode made an impression on Carlin Vieri, a PhD student at MIT's AI Lab around 2000.

Vieri started using "yak shaving" to describe the peculiar phenomenon where you set out to do one simple task but end up doing a chain of prerequisite tasks that seem increasingly absurd and disconnected from your original goal.

The term caught on at MIT and eventually escaped into the broader tech world, popularized by Seth Godin's 2005 blog post. Today it perfectly captures that moment when you realize you're installing a Fortran compiler because you needed to update a YAML file because you wanted to send an email.

Coined by: Carlin Vieri

Context: MIT AI Lab, ~2000

Fun fact: The MIT AI Lab had a tradition of coining colorful jargon. Other terms from the same culture include 'cruft' and 'hack.'

Related Terms