How to Avoid Falling Down the Rabbit Hole When Solving Problems

Ask Questions Before You Are Not Sure You Should Go Deep Into a Solution

Edward Huang
10 min readMay 12, 2023
Photo by Joshua Fuller on Unsplash

Developers suck at estimation.

When someone asks them, “How long does it take to investigate the bug or to solve X?” We often give them an optimistic estimation, “It will be a T-shirt size Medium.” However, we dive into the problem and realize that the problem is bigger than we initially estimated — we will need to touch on multiple files/folders and libraries to change a single function. Then, they will make the classic time-wasting mistake.

They will go silent and solve the problem with their solutions for DAYS. Essentially, they are in the rabbit hole.

It is a different world down there. Simple problems and bugs with well-defined solutions can become complex ones with interconnected code. By the time they submitted their PR, everyone was shocked.

How did it turn out to be so crazy? This problem can be solved in X, Y, Z.” The team requested a change request on the PR.

The developer submitting the PR is unhappy because they have worked on it for days. The team wasn’t happy either because they had spent days not hearing anything from the developer.