DEV Community

loading...
Cover image for Shaving the Yak

Yak Shaving Shaving the Yak

Sung M. Kim
Exploring the world of TypeScript, React & Node
・Updated on ・2 min read

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

Discussion (10)

Collapse
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? :)

Collapse
dance2die profile image
Sung M. Kim Author

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.

Collapse
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. yakshav.es/the-patron-saint-of-yak...

Collapse
dance2die profile image
Sung M. Kim Author

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

Collapse
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: harrywood.co.uk/blog/2018/04/16/ya...

Collapse
dance2die profile image
Sung M. Kim Author

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 πŸ˜….

Collapse
buinauskas profile image
Evaldas

Totally can relate to it.

Collapse
dance2die profile image
Sung M. Kim Author

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

Collapse
thejoezack profile image
Joe Zack

I'm all too familiar!

Collapse
dance2die profile image
Sung M. Kim Author

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