Yak shaving refers to getting dragged into a long chain of seemingly unrelated tasks to complete what initially seems to be a simple task. It’s sort of similar to “going down the rabbit hole.”

Example

“I want to load a csv into python and do a grouped count.”

  1. Open VSCode and start a Python interpreter.
  2. Try to load polars, but notice it’s out of data
  3. Go to update polars using uv, but hit my org’s firewall
  4. Troubleshoot how to bypass firewall and put in a ticket to IT department
  5. Document error messages when trying to update python packages as well as other software packages (R, Go, etc.)
  6. Shave the yak