DEV Community

Cover image for Shaving the Yak
Sung M. Kim
Sung M. Kim

Posted on • Updated on

Yak Shaving Shaving the Yak

I learned a new term, Shaving the Yak today.
This has come to me as a such a surprise that I'd like to share it.

What does "Yak Shaving" mean❓

It's basically when you end up doing things totally unrelated to what you were trying to accomplish initially.

Here is a great illustration.

Hal was to replace a light bulb πŸ’‘ but a series of events led him to fix his car πŸš— πŸ˜†.

πŸ™‹ My Experience

As a new comer to ASP.NET Core, I've been trying to create a simple website displaying Calendar.
➑️ Then I thought that I can use a SPA template to generate the calendar dynamically.
➑️ I wanted to use ES6 syntax so looked at Webpack 4 configuration options.
➑️ Thought it was too complicated so looked for an alternative.
➑️ Found RollUp, which was better for library.
➑️ RollUp tutorials were out of date.
➑️ Create a GitHub issue reporting tutorial was out of date.
➑️ Ended up creating an NPM package for generating calendar dates.

I wanted to learn ASP.NET Core but ended up publishing an NPM package.
I wasn't able to accomplish what I set out to do initially.

What can you do about it❓

Create a plan and stick to it and refer to the plan constantly.
Just knowing about this concept will help you stay alert of what you are currently doing.

Now the question is, have you guys been shaving the yak lately?
If so, would you share your experience?

πŸ“š Resources

Top comments (10)

harry_wood profile image
Harry Wood

There's a version of the "Yak Shaving" explanation involving woolly jumpers, but it seemed to be missing from the internet, so I just blogged about it here:

dance2die profile image
Sung M. Kim

That was fun to read, Harry.
A jumper ... to shaving a yak.

The steps leading to shaving a yak sounds probable πŸ˜†.

And that video is a bit too trippy for my taste, as well πŸ˜….

catriname profile image
catrina • Edited

i can't fault you, though! as a newcomer to .net core myself, it's so fascinating to run off into a new path.. for me its: what new JS framework!? non relational dbs??? hot new cross-platform mobile options?!!

the hard part is sticking to fundamentals and building that base.. stop shaving the yak? :)

dance2die profile image
Sung M. Kim

the hard part is sticking to fundamentals and building that base.

I totally agree with you πŸ‘.

I believe Kyle Simpson mentioned that you have to build your fundamental skills before diving into JS frameworks (forgot where he said it) as having a solid JavaScript fundamental concept would prepare you to learn myriads of frameworks easily.

dvdmuckle profile image
David Muckle

This reminds me of one of my favorite stories, that of Donald Knuth and his infamous series of books. TL,DR, he invented TeX just to typeset his own books, as well as all the little pieces that went into TeX and typesetting his books, such as a font and layout algorithm. The whole story is amazing.

dance2die profile image
Sung M. Kim

Wow. The story is quite interesting.
Yak Shaving has its benefits to the world after all if done well as Donald Knuth did :)

thejoezack profile image
Joe Zack

I'm all too familiar!

dance2die profile image
Sung M. Kim

I knew I wasn't the only one having this problem :)

buinauskas profile image
Evaldas Buinauskas

Totally can relate to it.

dance2die profile image
Sung M. Kim

I wasn't aware this was prevalent πŸ˜†