The Funny Truth About Why You’re Always Behind Schedule
Yak Shaving. The phrase alone is odd enough to make you pause, but once you’ve experienced it—and trust me, you have—you’ll never forget it. I first encountered the term while watching a talk by Aaron Patterson (a.k.a. tenderlove), who had the audience in stitches describing how a simple task can spiral into an elaborate, time-consuming tangent. It was both hilarious and unsettling because it hit so close to home.
If you’ve ever sat down to tackle a straightforward problem, only to find yourself chasing down entirely unrelated tasks hours later, congratulations—you’ve been shaving the yak. Maybe you started fixing a small bug, but by the end of the day, you were knee-deep in configuring a new build system because you thought it would “help.” It’s a phenomenon that’s as maddening as it is universal, especially for programmers.
I’ll be the first to admit that I’ve been a victim of this more times than I’d like. But over the years, I’ve learned to spot when I am wandering too far from the “primary directive” 😏. More importantly, I’ve started using meta-cognitive programming techniques to catch myself in the act and refocus before things spiral out of control.
For today's adventure, we will dive into Yak Shaving—what it is, how to recognize it, and how to navigate it without losing your sanity. Along the way, I’ll share insights from personal experience and brilliant examples from others, like Primeagen’s most recent hilarious mission to push Devin AI into chaos. Whether you’re a programmer or just someone trying to stay productive, I hope this helps you wrangle those yaks and stay on track.
What is Yak Shaving?
The term “Yak Shaving” has an odd charm to it—quirky enough to stick in your mind, yet abstract enough to make you wonder what it actually means. At its core, Yak Shaving describes those moments when a seemingly simple task snowballs into a series of increasingly unrelated sub-tasks. You set out to achieve one thing, but hours later, you find yourself tangled in a web of tasks that feel necessary in the moment but have taken you far from your original goal.
The term itself was coined by Carlin Vieri during his time at MIT’s AI Lab in the 1990s. It was inspired by a segment from The Ren & Stimpy Show that depicted a fictional holiday called “Yak Shaving Day.” The holiday involved absurd rituals, like hanging diapers instead of stockings and watching for a shaved yak to float by in an enchanted canoe. Vieri used this imagery to humorously capture the absurdity of getting sidetracked by unrelated tasks in pursuit of a larger goal.
In programming, Yak Shaving often refers to the seemingly trivial or tangential tasks you end up doing because they’re prerequisites for solving a larger problem.
A Couple of Examples to Set the Scene
Let’s ground this with a couple of examples, because if you’re anything like me, this abstract concept really hits home when paired with real-life scenarios.
There’s an iconic moment from Malcolm in the Middle where Hal is attempting to change a light bulb. A straightforward task, right? But as he goes to find a new light bulb, he realizes the shelf in the cupboard is broken. So, he sets off to fix the shelf, only to discover that the drawer containing his tools is squeaking. Off he goes to fix the squeak… and hours later, Hal is nowhere near finishing the light bulb. That’s Yak Shaving.
Recently, I watched a video where Primeagen set out on a mission: to make Devin (an “AI employee”) push directly to the master branch (already a controversial move for anyone using Git). Devin, however, wasn’t having it and effectively stalled the process. Instead of pivoting to something productive, Primeagen doubled down, diving deeper into trying to brute-force the bot into compliance. By the end, the actual task of coding was a distant memory, replaced by a Yak Shaving showcase in all its glory.
Why Does Yak Shaving Happen?
At its heart, Yak Shaving is rooted in a desire for perfection and efficiency. You convince yourself that fixing all these tangential issues will make the original task easier, smoother, or better. But often, you end up creating more problems than you solve—or at the very least, spending far more time than you intended.
For software engineers, Yak Shaving is almost a rite of passage. You think, “If I just tweak this configuration,” or “If I rewrite this function, it’ll make everything better.” Hours later, you’re deep in documentation for a library you didn’t even know existed this morning.
The Bottom Line
Yak Shaving isn’t inherently bad—it’s part of the creative problem-solving process. But left unchecked, it can derail your day and leave you with nothing tangible to show for your effort. Recognizing it when it starts is key, and that’s what we’ll explore next: how to spot Yak Shaving in real-time.
How to Recognize Yak Shaving
The challenge with Yak Shaving is that it often feels justified while it’s happening. You’re busy, you’re solving problems, and everything you’re doing seems important—until you step back and realize you’re miles away from your original goal. Learning to spot Yak Shaving as it’s happening is critical to staying focused and productive.
Here are some telltale signs that you’re in the middle of a Yak Shaving spiral:
You’re Working on Something That Feels Urgent but Isn’t Actually Necessary
One of the easiest ways to identify Yak Shaving is to pause and ask yourself, Does this task directly serve my current goal? If the answer is no, you’re likely shaving the yak.
For example, let’s say you’re trying to debug a piece of code, and along the way, you notice some messy formatting. Instead of staying on task, you decide to clean up the formatting “real quick.” Three hours later, you’ve refactored half the codebase, but the original bug is still sitting there, untouched.
You’re Solving Hypothetical Problems
This is a classic trap. You spot something that might become an issue in the future and decide to address it now, even though it isn’t blocking your current progress. I’ve lost count of how many times I’ve gone down this rabbit hole, thinking I’m being proactive, only to end up wasting time on something that never materialized.
Am I solving a problem that doesn’t exist yet? is a question I now ask myself regularly. If the answer is yes, it’s a good sign to stop and refocus.
Your Tasks Are Multiplying
Yak Shaving often follows a snowball effect. You start with one small detour, which leads to another, and then another. If your to-do list is growing instead of shrinking, it’s time to pause and reassess.
For instance, in the Primeagen video, his goal was simple: make the AI bot push to master. But as the bot resisted, he kept chasing new solutions to “fix” it, each more elaborate than the last. The task multiplied into a series of unrelated challenges, none of which advanced his original goal.
You Feel Like You’re in a Trance
This one is a bit harder to pinpoint, but it’s something I’ve noticed in myself. When I’m deep into Yak Shaving, I lose track of time and get hyper-focused on the immediate task at hand, completely forgetting why I started it in the first place. It’s a productive-feeling, flow-like state, but it’s misleading because it’s not tied to your true objective.
When this happens, I’ve learned to step back and ask: Why am I doing this right now? Is this helping me accomplish my main goal? If I can’t answer those questions clearly, I know it’s time to recalibrate.
You’re Stuck in a Loop of Perfectionism
Ah, this one gets me every time—guilty as charged. I’ve caught myself endlessly tweaking and polishing things that, in hindsight, didn’t actually add value. Perfectionism can be a sneaky driver of Yak Shaving because it convinces you that you’re improving things. But in reality, you’re often just delaying progress.
The key question I’ve learned to ask myself here is: Is this “good enough” for now? Often, the answer is yes.
Practical Ways to Catch Yourself
Here are some simple strategies I use to spot Yak Shaving before it derails my day:
Sometimes, when I realize I’m getting carried away, I’ll plan out an idea and then deliberately put it down to work on something else. This “pause” lets the idea simmer in the back of my mind, giving me a chance to evaluate whether it’s truly worth pursuing. If it still feels relevant after I’ve had some time away, then I’ll commit to it.
Setting a timer to check in with yourself during work can also help. Every hour or so, I ask myself, Am I still working on my primary objective? If not, I know it’s time to course-correct.
I always keep a notepad next to me. It’s become a habit that my colleagues have noticed, especially during meetings. Sometimes I’ll have a lightbulb moment (or, more than likely, just a crazy idea) and rush to jot it down before it gets “lost in the ether.”
This habit has saved me countless times because it lets me capture those tangential ideas without letting them derail my current focus. Once they’re on the list, I can revisit them later with a clearer perspective.
Yak Shaving often happens in isolation, where there’s no one to question whether what you’re doing actually makes sense. To avoid this, I like to demonstrate where I’m up to with a piece of work early on, even if it’s just a rough draft or prototype.
This helps me ensure I haven’t started “making up requirements” or adding unnecessary “nice-to-haves” before they’ve been recognized as valuable. A fresh perspective from a trusted colleague can help you get back on track and keep the scope realistic.
Once you start recognizing Yak Shaving in real-time, you’ll be able to address it more effectively. Next, we’ll explore the downsides of Yak Shaving—how it disrupts flow and why it can leave you feeling frustrated.
The Downsides of Yak Shaving
For all its quirky charm, Yak Shaving can be a real productivity killer. What starts as a well-meaning attempt to solve a problem can quickly spiral into hours—or even days—spent on tasks that were never part of the plan. The consequences aren’t just about wasted time; Yak Shaving can also derail your flow, leave you frustrated, and make it hard to get back on track.
It Disrupts Your Flow 😵
There’s nothing quite like the feeling of being in the zone—when your mind is laser-focused, and everything seems to click. But Yak Shaving has a way of pulling you out of that state.
When you shift your attention to tangential tasks, you break the mental momentum that makes flow possible. Even if the detour feels justified in the moment, it can take significant effort to return to the original problem, and the quality of your work often suffers as a result.
I’ve had days where I’ve started out in a great rhythm, only to let one small distraction snowball into hours of off-track busywork. By the time I realized what was happening, the flow was gone, and my productivity had plummeted.
It’s Emotionally Draining 😩
Yak Shaving doesn’t just waste time—it can leave you feeling exhausted and demoralized. There’s something uniquely frustrating about spending hours working hard, only to realize you haven’t made meaningful progress on your original goal.
For me, this often comes with a mix of guilt and regret. I think, I could’ve spent this time solving the actual problem, but instead, I got caught up in tasks that didn’t matter. That kind of self-criticism can make it even harder to refocus and move forward.
It Creates a False Sense of Productivity 🏃
One of the sneakiest things about Yak Shaving is that it feels productive. You’re busy, you’re solving problems, and you’re ticking items off your list—but none of it actually moves the needle.
This false sense of accomplishment can be particularly dangerous because it masks the inefficiency. By the time you realize that your “progress” hasn’t brought you any closer to your goal, you’ve already lost valuable time.
It Can Spiral Out of Control 💫
Yak Shaving often follows a snowball effect. You start with one small task, which leads to another, and before you know it, you’re buried under a mountain of unrelated work. The more you invest in these tangents, the harder it becomes to pull yourself out.
For example, I once set out to fix a simple bug in a web app. Along the way, I decided to update a library. That update caused some unexpected errors, so I had to dive into the documentation to troubleshoot. In the process, I discovered a related feature that “could use improvement.” By the end of the day, I hadn’t touched the original bug, and my to-do list had grown substantially 😭!
The Big Picture
The real danger of Yak Shaving is that it distracts you from what matters most. It’s not just about the time lost—it’s about the opportunity cost. Every minute spent shaving the yak is a minute you could have spent making meaningful progress on your primary objective.
That said, Yak Shaving isn’t inherently bad. Sometimes, those tangents can lead to unexpected breakthroughs or valuable insights. The key is learning when to let yourself wander and when to rein it in.
Next, we’ll explore the flip side of when Yak Shaving can be beneficial and how to recognize those moments.
When Yak Shaving Can Be Beneficial
Here’s the twist: Yak Shaving isn’t always the enemy. While it often feels like a detour, there are times when those tangents turn into productive rabbit holes that yield unexpected rewards. The trick is knowing when to embrace the Yak and when to step back.
Let’s explore how Yak Shaving can sometimes work in your favour:
It Can Lead to Valuable Discoveries
One of the best things about Yak Shaving is its potential to uncover hidden opportunities. When you dive into those tangential tasks, you might stumble upon a solution, a tool, or an insight you didn’t even know you needed.
For example, I once got sidetracked refactoring a piece of old code while working on a new feature. It felt like classic Yak Shaving at the time, but the cleanup ended up streamlining the entire project. Not only did it make the feature easier to implement, but it also improved the maintainability of the codebase as a whole.
Sometimes, chasing down that yak means breaking through walls you didn’t even realize were there.
It Encourages Learning and Skill Development
Yak Shaving often involves diving deep into unfamiliar territory—exploring a new tool, troubleshooting a weird bug, or experimenting with an approach you haven’t tried before. While this might not help you finish your immediate task, it can expand your skill set and make you more effective in the long run.
I’ll admit, that there have been times when I’ve gone down a Yak Shaving spiral purely out of curiosity. I’d think, I wonder how this library actually works under the hood? Hours later, I’d emerge with a deeper understanding of something I didn’t plan to study that day. It wasn’t part of the original plan, but it added value nonetheless.
It Can Improve the Quality of Your Work
Sometimes, the yak you’re shaving is a symptom of something deeper—a structural issue, a process inefficiency, or an outdated practice that’s been slowing you down. Addressing these issues in the moment can save you from bigger headaches down the road.
For instance, during a debugging session, I noticed a recurring pattern in how certain errors were being handled. Instead of patching the immediate issue, I created a reusable error-handling function that not only fixed the bug but also prevented similar problems in the future. What started as Yak Shaving turned into a real productivity boost.
It Can Be a Creative Outlet
Let’s face it: some Yak Shaving detours are just plain fun. They let you tinker, explore, and try things without the pressure of sticking rigidly to the plan. While this isn’t always productive in the traditional sense, it can recharge your creative energy and help you approach your main task with fresh eyes.
There’s a fine line between productive exploration and pure procrastination, but I’ve learned that allowing myself the occasional indulgence keeps me engaged and motivated.
How to Recognize Beneficial Yak Shaving
The key to embracing Yak Shaving when it’s helpful is to evaluate its potential impact in real-time. Here are a few guiding principles:
Ask, “Will this create long-term value?” 🤔
If the tangent solves a recurring problem or significantly improves your workflow, it’s likely worth pursuing. For example, creating a reusable function to handle a pattern you’ve noticed might take extra time now but save you hours in the future. When a task has the potential to deliver lasting benefits, it’s more than just a distraction—it’s an investment.
Set a Time Limit ⏰
Whenever I feel tempted to dive into something tangential, I give myself a fixed amount of time to explore it—usually 30 minutes to an hour. If I haven’t made meaningful progress by then, I defer the task and return to my primary objective. Timeboxing like this ensures that I don’t lose an entire day chasing a single yak.
Consider the Big Picture 🖼️
Step back and ask yourself: Will this detour help me achieve my broader goals, or is it just satisfying my curiosity? If the tangent aligns with a long-term goal or addresses a persistent pain point, it might be worth the effort. But if it’s purely an intellectual distraction, it’s better to let it go and come back later, if at all.
Yak Shaving isn’t inherently good or bad—it’s all about context. By recognizing when a tangent has the potential to add value, you can turn it into a tool rather than a trap.
Next, we’ll dive into strategies for managing Yak Shaving so you can strike the right balance between exploration and focus.
Strategies to Manage Yak Shaving
Managing Yak Shaving isn’t about eliminating it entirely—that’s both unrealistic and potentially counterproductive. Instead, the goal is to strike a balance: staying focused on your primary task while leaving room for productive exploration when it truly adds value. Over the years, I’ve developed a few strategies that help me keep Yak Shaving under control without stifling my curiosity.
Practice Meta-Cognitive Awareness
Meta-cognitive programming—essentially observing your own thought process in real time—has been a game-changer for me. When I notice myself drifting away from my primary task, I pause and ask: Is this helping me accomplish my goal, or am I chasing a yak?
This self-awareness doesn’t come naturally; it’s a skill I’ve had to develop. At first, I only realized I was shaving the yak after hours had already been lost. But over time, these check-ins became second nature, and now I can catch myself before I veer too far off track.
Keep a Notepad Handy
I always have a notepad next to me, especially during meetings. When an idea strikes—whether it’s a lightbulb moment or a completely off-the-wall tangent—I jot it down immediately. My colleagues have seen this happen often: I’ll suddenly grab my pen and scribble something down, knowing full well that if I don’t capture it, it might disappear into the ether.
This simple habit allows me to acknowledge those ideas without letting them interrupt my current focus. Once they’re written down, they’re safe, and I can revisit them later with a clearer perspective.
Set Clear Priorities and Boundaries
One of the most effective ways to avoid Yak Shaving is to start with a clear plan for what you want to achieve. I try to define my primary objective at the beginning of each session and write it down somewhere visible—on a sticky note or at the top of my to-do list.
When I feel the pull of a tangent, I remind myself of the goal I set and ask, Does this serve the primary objective? If not, it goes on the “defer until later” list. By setting these boundaries, I’m better able to stay on track without feeling like I’m stifling my creativity.
Demonstrate Early and Often
When working on a project, I make it a point to share my progress with a trusted colleague early on, even if it’s still rough. This helps me validate that I’m on the right track and, more importantly, ensures I haven’t started “making up requirements” or adding unnecessary extras.
I’ve found that this kind of feedback loop keeps me grounded. Instead of spending hours perfecting something that might not even be needed, I get clarity on what’s valuable and what’s not. Plus, it’s a great way to catch any potential Yak Shaving before it spirals out of control.
Timebox Exploration
Exploration is important, but it needs limits. Whenever I feel compelled to chase down a yak, I give myself a set amount of time—usually 30 minutes to an hour. If the tangent proves fruitful within that window, great. If not, I defer it to a later time.
This approach satisfies my curiosity without letting it consume the day. It also forces me to focus on results: if the tangent isn’t yielding clear benefits quickly, it’s probably not worth pursuing right now.
Keep Your Eye on the Big Picture
At the end of the day, Yak Shaving becomes a problem when it distracts you from your broader goals. I’ve learned to step back periodically and ask, Am I making progress toward what really matters, or am I just busy?
By maintaining this perspective, I can better evaluate whether a task is worth pursuing or whether it’s time to let the yak roam free.
The Balance Between Focus and Curiosity
Managing Yak Shaving isn’t about rigidly sticking to your plan at all costs. Some of the best ideas and breakthroughs come from unexpected detours. The key is knowing when to indulge those moments and when to rein them in.
Conclusion
Yak Shaving is a concept that I’ve come to both dread and appreciate. It’s like that friend who always shows up unannounced: sometimes they bring chaos, but other times they spark a brilliant idea. Over the years, I’ve learned to navigate these moments more mindfully, and in doing so, I’ve found ways to embrace the occasional detour without losing sight of the bigger picture.
I’ll admit—there was a time when Yak Shaving dominated my days. I’d start with a simple goal, like fixing a bug, and end up debugging someone else’s library or researching the history of a completely unrelated feature. It was frustrating because, while I felt busy, I didn’t feel productive. That’s when I started leaning into meta-cognitive programming, asking myself hard questions about whether what I was doing truly mattered.
But here’s the thing: Yak Shaving isn’t always bad. Some of my best work has come from unexpected detours. I’ve learned new tools, uncovered hidden bugs, and even reimagined workflows because I let myself follow a tangent. The trick, I’ve found, is being intentional about when to let it happen. If a tangent aligns with a broader goal or addresses a recurring issue, it’s worth the effort. If not, it’s time to write it down, defer it, and move on.
Another lesson I’ve learned is the importance of collaboration. Sharing early drafts or discussing progress with a trusted colleague has saved me countless times from going down unnecessary rabbit holes. It’s a way to keep myself honest and ensure that I’m solving the right problems rather than inventing new ones. Plus, those discussions often spark fresh ideas that make the work even better.
At the end of the day, Yak Shaving is part of the creative process. It’s messy, it’s unpredictable, and yes, it can be maddening. But it’s also human. We’re wired to explore, to tinker, to fix things that don’t seem quite right. The goal isn’t to eliminate Yak Shaving but to approach it with mindfulness and humor.
So the next time you catch yourself chasing a yak, take a moment to step back. Ask yourself if it’s truly worth pursuing. And if it is, embrace the chaos—but do it with intention. After all, sometimes the most unexpected paths lead to the best destinations.