re: How to avoid rabbit holes when learning? VIEW POST


tl;dr: make time to play and work so you don't restrict yourself, and mark the location of rabbitholes to return to later if you really do have a certain route you have to be on in the meantime

As a beginner, one thing I've noticed is that while those rabbitholes can absolutely become endless timesinks, I not infrequently do learn from them--sometimes not much, but it does often mean that I at least know what to try and where to start looking if I get stuck.

A rule of thumb that helps me is: if I have to keep looking up the same thing or keep getting stuck in a similar area, that's something I should dig deeper into, because it's either common enough to recur and/or important enough to recur. Shallow depth is OK for some things that you won't use frequently--as long as you know enough to be able to understand the solutions you look up and find when things go wrong.

If it's a particularly enticing rabbithole, I just bookmark/Pocket all the tabs and then close them--it satisfies that need to look around and poke at the edges of a topic all over, without the time commitment if something needs to be happening on a specific timeline.

But honestly, I think it does depend what stage of beginner you are to a given thing. For someone like me who is new to programming overall--rabbitholes are going to statistically be more fruitful because there's more I don't know, and while they're often important topics, they're baseline enough that delving into them is almost assuredly worth it. For any new endeavour, I think making time to let yourself dive into those rabbitholes is really important, even if you're not new to programming overall, but the field is new. Rabbitholes about Coffeescript when you're already very proficient in JS are neat, for example, but not as useful as, say, Python rabbitholes would be to someone trying to learn Python who is proficient in JS.


Thank you for the great answer! I definitely agree that you should allow more time for a completely foreign topic than something you are more familiar with. One thing I am terrible with, that you touch on here is that you can come back to things if you are on a deadline. In most cases where I am learning something completely new, I feel a need to build something quickly and to do it well. I am not sure where this feeling comes from, but in almost all cases these are side projects where the only real deadline is one that I set. Maybe I need to recognize that and allow myself more time, rather than pushing myself to learn/skip things in order to see some arbitrary result.

Code of Conduct Report abuse