Yak shaving (and what to do about it)

Sun Dec 31

First: what is it?

Yak shaving (uncountable):

1. Any apparently useless activity which, by allowing one to overcome intermediate difficulties, allows one to solve a larger problem.

2. A less useful activity done consciously or subconsciously to procrastinate about a larger but more useful task.

"...but yet a chain of twelve causal relations links what you're doing to the original meta task."
(taken from wiktionary. art by david revoy. don't kill me)
"...but yet a chain of twelve causal relations links what you're doing to the original meta task." (taken from wiktionary. art by david revoy. don't kill me)

How does this apply to me? Well, perhaps most tangibly, yak shaving is most likely why I’m where I am (make of that what you will 😅)! What I thought was work was really just intense procrastination. I was spending way too much time looking on how to do things the right way instead of actually working my way up through it, mistakes and all. I wanted to come in with a perfect solution that was CI/CD ready, 200% tested, and following 300% of the accessibility standards just to provide an immediate value add, but I spent so much time looking at how to do that I ended up dragging my feet on actually doing the thing.

It’s been popping up again in a few other places, a group project, for one. Web development is complicated, and you’re often operating on so many layers of abstraction that it’s easy for you to feel like you might be doing something wrong, in any portion of the gigantic technology stack that somehow turns into a website.

But with all this, if I were to be honest with myself and really drill down on my reasons for yak shaving… That’s reducible to a simple thing: a fear of failure.

When I’m doing projects with an unclear completion state (and so, a higher risk of failure!) I’ve been finding that this blog is an effective way to galvanize myself! Especially when stress management’s been getting difficult with the amount of stuff that’s been going on in my life recently. It’s probably not the best move to share it here.

But I am making progress. Look at that image! As trivial as it seems it took a lot to get right — check out that wonderfully optimized .webp format: 37.1 kilobytes! And most importantly, it wasn’t too difficult that I spent too much time spinning my wheels.

I’ve also been using Timing to keep myself accountable It’s been working well! I’ll be elaborating on this later.

Screenshot of Timing menubar widget: it says that I've been at the computer for 6 hours, and I've been
"productive" for ~74% of that time!
Screenshot of Timing menubar widget: it says that I've been at the computer for 6 hours, and I've been "productive" for ~74% of that time!

In the end, the best way to get over this is to keep making stuff, in a way that clearly shows the next easily digestible path forward, while still posing a challenge that can’t be easily cheated with a search engine. Ignore the voice in your head that you could be doing things better for now, especially if you’ve been struggling to make it happen. It just means that you’re not ready yet.

I think that continuing to break things down into more easily digestible pieces will only lead to good things — it really is just problem solving. You will be ready if you keep failing forward. * Not upwards -- that's a different story! And that’s what I’ll do.

but also don’t fall into tutorial hell kthxbye