You might have heard the expression “to go down the rabbit hole”.
It comes from the novel “Alice in Wonderland” written by Lewis Carroll in the 19th century. Alice falls down a rabbit hole, has quite a long trip, and lands in a strange place called Wonderland.
A rabbit hole can be a metaphor for something that transports you into a wonderful (or peculiar) place. But what we usually mean, is that we got extremely distracted. When we “go down the rabbit hole,” it means we spend a lot more time than we planned on something.
(There's a fun article on The New Yorker that goes down the rabbit hole of rabbit holes - but that's definitely a distraction.)
Tech rabbit holes
What do rabbit holes have to do with tech? The technology landscape is littered with rabbit holes.
You already know that Twitter and Youtube and every social media or news site is a rabbit hole. But we also fall down rabbit holes about more serious topics. And these rabbit holes are more likely to overwhelm than entertain us.
Imagine that you are a novice who wants to learn to program. You start with Google. And here comes your first rabbit hole: which language should you learn? You'll spend days reading about the pros and cons of different languages. And you'll still be unsure about your choice. And the first time you get stuck, you'll immediately doubt your choice. Maybe [[insert different language here]] will be easier.
Perhaps you pick Java - it's a good choice. You follow some online tutorials, and create your first "Hello World" program. But then you hit a wall. You can't get your code to work, or you don't understand the concept. So you google it. Which leads you down a StackOverflow rabbit hole that confuses you even more.
This applies to every area of development. Charles and I have been working on the Introduction to Web Application Security course. Security is a huge topic. And there is a lot of depth to every facet of every concept. And each of those is more like a huge sink hole than a little rabbit hole. It's easy to feel overwhelmed and lose perspective.
Your GPS for the rabbit holes
You need a GPS to help you go around the rabbit holes. Or, in some cases, go down them just far enough, but not too far. That's where our courses fit in. Our lecturers go down the rabbit holes when they research and prepare, so that you don't have to.
Lewis often estimates it takes a minimum of two hours of research on a topic, to be able to teach it for about 10 minutes. And it's only two hours for him, because he is already an experienced rabbit-hole explorer, who knows the rest of the landscape and has a great sense of direction. For someone else, it would take much, much longer.
Think about that the next time you assume your developers can "teach themselves".
About the security rabbit hole
This week's blog post on security highlights the need for everyone in the development process to understand some security concepts. This includes business analysts and other shareholders.
That made me think that we should restructure our web application security course. The plan is to spend part of the time on the big picture, so that your whole team can benefit. And then we'll go a little way down some of the rabbit holes for the developers. (If you want to dive deep into the rabbit holes, there are other specialist security courses for that.) What do you think?