Live data from Hacker News

Don't Shave That Yak (2005)

seths.blog

71–80 of 87 posts

Re: Don't Shave That Yak (2005)

#71
post #61

Earlier quoted context omitted.

I've always interpreted yak shaving as "work that is neither necessary nor sufficient to complete a task." Sometimes it's bikeshedding (looking through color swatches for your navbar when you dont even have a working CRUD system), sometimes it's indirect value add to you or your team (evaluating new ORMs or IDEs), sometimes it's just karma farming in the universe (sending PRs to a new GitHub repo you've found that al…

If it's not necessary to complete the task then it's not yak shaving, it's just procrastination.

Well, sure, procrastination is a subset of yak shaving ... but it's also a matter of degree.

Consider my example of evaluating ORMs.

Option 1: Blindly choose first ORM from a Google search.

Option 2: spend 2 hours reading reviews, blogs, etc. to compare the 3 most popular ORMs.

Option 3: spend a day spinning up containers for each ORM, testing out a CRUD prototype for each, evaluating some basic cases.

Option 4: spend a week down the deep rabbit hole of ORM internals, query rolling, edge cases at scales your app will never see ...

And everything in between. None of it's necessary - even the ORM itself - but it's not all wasted effort either.

Re: Don't Shave That Yak (2005)

#73
Having tried both ways, I have the opposite view.

Skip all the extra steps and just take a shortcut, and you'll fix one problem today -- and tomorrow you'll run into three consequences of this shortcut, and have to take yet more shortcuts. The next 25 problems that cross this path will be just as hard, and they'll require their own shortcuts.

But fix the 5 sub-problems necessary to fix this the Right Way today (no matter how crazy), and at the end of the day, you will have the Right Fix in place. Plus, you'll be one step closer to solving those 25 other problems that cross through this path.

When solving a problem, you always get to choose whether to take on more tech debt, or pay off some existing tech debt. People almost never choose to pay off tech debt, so every step is one step closer to that inflection point where the entire project is too complex for anyone to work on, and you have to scrap it and start over.

Re: Don't Shave That Yak (2005)

#74
post #73

Having tried both ways, I have the opposite view. Skip all the extra steps and just take a shortcut, and you'll fix one problem today -- and tomorrow you'll run into three consequences of this shortcut, and have to take yet more shortcuts. The next 25 problems that cross this path will be just as hard, and they'll require their own shortcuts. But fix the 5 sub-problems necessary to fix this the Right Way today (no ma…

> But fix the 5 sub-problems necessary to fix this the Right Way today (no matter how crazy), and at the end of the day, you will have the Right Fix in place. Plus, you'll be one step closer to solving those 25 other problems that cross through this path.

Unless tomorrow you learn you need to build something completely different. This is an age old debate, and doing it technically "Right" isn't the be-all-end-all. "Move fast and break things" is dumb, and so is it's inverse.

Now, that doesn't mean the truth is the happy medium. It's somewhere in between, weighed to one side. I don't know which. But this is a tension, and I don't think we can afford to ignore either side.

Re: Don't Shave That Yak (2005)

#76
post #73

Having tried both ways, I have the opposite view. Skip all the extra steps and just take a shortcut, and you'll fix one problem today -- and tomorrow you'll run into three consequences of this shortcut, and have to take yet more shortcuts. The next 25 problems that cross this path will be just as hard, and they'll require their own shortcuts. But fix the 5 sub-problems necessary to fix this the Right Way today (no ma…

I guess the "art" lies in quickly identifying where you can take the shortcut and where you shouldn't. The best way to see this is to look at a competitive environment where most people are just as qualified at achieving the result whether by the book or by cutting the occasional corner. You'll notice that what sets apart the best is that they seem to know exactly when to use each method. It's like a rally, some corners you can cut, some you can't. Knowing which is which will save you precious seconds.

I've seen people trying to do it exclusively by the book at all times and everything felt like a school bus in an F1 race. Yes they eventually finished but always guaranteed to be too late to be useful.

Far more rarely I've seen people trying to go the shortcut route exclusively. This has far worse results, like an F1 car trying to take kids to school. It might get there fast but sooner or later it will hit a wall. Evolution weeds out these cases a lot faster.

Re: Don't Shave That Yak (2005)

#77
post #52

I really tried to get into Seth Godin's work, blogs, books, video, the altmba. I just find there is no substance beyond wishy washy ideas and turns of phrase. I just read his latest blog where he tells us to look inside a box of infinity and 'dance with it'. What am I missing here? Isn't this nonsense?

For me, Seth Godin is about defining a vocabulary around being a productive and decent human-being and thinking about your approach and psychology. I think the ideas help the reader to navigate in this complex world without having a cynical worldview.

I have just read the last blog post and I believe it is about the amygdala and creative process.

"Dance with it." is probably a reference to a topic he has written in several blog posts and books. He just plants some ideas here and there. As an example, yesterday, I watched MIT OCW video "How To Speak by Patrick Winston" where he tells to repeat the subject at least 3 times. I immediately remembered this blog post: https://seths.blog/2010/12/you-will-be-misunderstood/

I agree with 1123581321's points. In addition, he always narrates his own audiobooks. The Dip is one of the first audiobooks I have listened to. He has a clear easy to understand voice.

While I can understand Seth's content may not work for everyone. It works for me. I like the man enough to regard him as a role-model so my channels are open for him(permission marketing maybe?). I also find his writing fun.

HT to Seth :)

Re: Don't Shave That Yak (2005)

#78
post #73

Having tried both ways, I have the opposite view. Skip all the extra steps and just take a shortcut, and you'll fix one problem today -- and tomorrow you'll run into three consequences of this shortcut, and have to take yet more shortcuts. The next 25 problems that cross this path will be just as hard, and they'll require their own shortcuts. But fix the 5 sub-problems necessary to fix this the Right Way today (no ma…

> But fix the 5 sub-problems necessary to fix this the Right Way today (no matter how crazy), and at the end of the day, you will have the Right Fix in place. Plus, you'll be one step closer to solving those 25 other problems that cross through this path. Unless tomorrow you learn you need to build something completely different. This is an age old debate, and doing it technically "Right" isn't the be-all-end-all. "M…

Which side it happens to be is on entirely context-driven. If the object of "yak shaving" happens to be a mathematical proof, then the yak must be shaved. But if you have to get a system working within five minutes to stop your company losing ten million pounds, then the yak can remain unmolested.

Re: Don't Shave That Yak (2005)

#79
post #52

I really tried to get into Seth Godin's work, blogs, books, video, the altmba. I just find there is no substance beyond wishy washy ideas and turns of phrase. I just read his latest blog where he tells us to look inside a box of infinity and 'dance with it'. What am I missing here? Isn't this nonsense?

I think the exercise of {clarifying why it is nonsense} has value.

Re: Don't Shave That Yak (2005)

#80
Don't shave it now, shave it later. Interfaces exist for a reason, and can potentially provide you with a mechanism for bootstrapping new designs onto the old base implementations.

Albeit in a less than optimal manner.

It does, however, provide you with a means to approach the eventual shaving of the yak piecemeal.

At any step into the deep dive into madness, all you need is a viable implementation of the highest level of required functionality.

Even if the insanity of a complete implementation can get through code review, future archaeologists won't thank you for rebuilding existence in a single commit.

Shave the yak if you need to, just be sure that you need to do it now.

Post reply on HN