DEV Community

Ben Halpern
Ben Halpern Subscriber

Posted on

How do you avoid rabbit holes?

It's nice to go deep on a problem sometimes, but we can be tempted to go too deep. How do you manage your time when examining intricate problems?

Top comments (21)

Collapse
 
andyrosenberg profile image
AndyRosenberg

Timebox yourself. At work I drudge through 10y/o legacy code, so I get into this situation from time to time. Typically I’ll give myself x amount of time to look at a problem from one angle before stepping back to think of any other solutions.

Collapse
 
hamstu profile image
Hamish Macpherson

Came here to say this! Such a great technique.

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

Yep, timeboxing is the best

Collapse
 
itsjzt profile image
Saurabh Sharma

Actually this way is used to prevent systems from infinite loop, in many domain specific languages

Collapse
 
khrome83 profile image
Zane Milakovic

I don’t.... next thing I know several hours went by and I missed the whole point. 20 years into this industry and I fall into the same trap. Mostly because I enjoy the fall.

Collapse
 
lasatadevi profile image
Navee
  1. Timebox.
  2. If you are stuck into a problem for more than 3/4 hrs, time to roll back your chair and go for a fresh air. OR, sleep.
  3. Explain the problem to other colleagues. This helps most of the time for self realisation of the solution.
Collapse
 
shroomlife profile image
shroomlife 🍄 • Edited

Let's go down every rabbit hole you find as long as you learn or have fun! Stop feeling bad about times you may see as wasted. They are there for a reason. Accept, Analyze and Awake. Go further! If you ask me, you can never go deep enough. When you reach the bottom you can crack it up and a new rabbit hole rises. This is, I suppose, how knowledge is being created down here.

Collapse
 
xxkeith20xx profile image
Keith 20

I agree with the sentiment but say there are only so many hours in a week - at some point, I think you have to look at what you're focusing on critically and decide whether or not it's worth it to go into a topic further.

Collapse
 
skaterdad profile image
Mike

It's been about 11 years since I started writing code professionally, and I'm not sure I'm capable of avoiding rabbit holes.

Whether it's web, desktop apps, databases, or game dev, I just can't help but over analyze. The products always turn out great because of it, but often much later than planned.

Tasks at my real job still gets done on time, mostly, since my rabbit holing largely occurs on my side projects. That knowledge then gets applied to future iterations of the work at my job.

Maybe that's the key for me: do the boring thing first for jobs that are time sensitive and important. Then allow myself to deep dive topics since I enjoy it, and mix the new stuff in as appropriate?

Collapse
 
aseeeem profile image
Asim Shamim

I fall into rabbit holes when I start a project, I begin to make problems for myself because I’m hesitant to move truly forward

The only way I pull myself out is asking: how relevant is this to solving my current problem?

It can be nerve wracking to progress so I think I distract myself but digging deep into irrelevance

Collapse
 
weswedding profile image
Weston Wedding • Edited

I almost always grab a coworker and do a "sanity check" with them to see if I'm about to go too deep. I explain the issue, I explain what I'm about to potentially invest time in, and see what they think.

But this habit only developed after learning to recognize when maybe my dive was about to be too deep, or that my perfectionism was starting to get in the way of forward progress.

Collapse
 
python_paul profile image
Paul

I haven't done anything to stop it, even though I usually seem to know when it's happening. But the last couple of months, every now and then, I notice and I've been able stop it and move on to something else.

I remember reading a while back someone suggested limiting your Google searches to only the first page. That may help, but I have infinite scroll enabled, so technically all of Google is my first page. /s

Others have suggested timeboxing, maybe I'll give that a try. I may need to Google it first though.....

Collapse
 
sebastiandg7 profile image
Sebastián Duque G

"... But I have infinite scroll enabled". Man, you made my night.

Collapse
 
jonesey712 profile image
Jonesey712

I am currently dealing with this. Working on making a login piece work that I took from another project. It kinda works, but in adapting it to this project I'm running into many problems getting to work correctly. I finally just commented out that piece (it's a required login page) so I could move on to other parts.
I try to give a good amount of effort in finding a solution. Since it my person project I try to stick to a day or 2 before I move on.

Collapse
 
nestedsoftware profile image
Nested Software • Edited

Do you feel comfortable that you can proceed in your work without needing to understand further details? If so, then it’s probably okay to climb out of the rabbit hole for now!

When learning something new, I try to go more in-depth with basic/fundamental cases, and then I’m often willing to accept more sophisticated extensions as variations on a theme.