Ola Sendecka organized the Warsaw djangocon in 2013 and started the djangogirls organization. She told us a story in which she paraphrased “Alice in Wonderland” as “Alice in Djangoland” :-) Complete with code examples. Fun.
Alice’s sister asked her to have tea with her. “Fine, I’ll be there in 10 minutes”. And she starts adding a small feature. But ran into a small problem. Oh, I’ll fix that with a small change to the object manager. “Are you coming for tea now?”. Yeah, almost done. I just need to fix this small bug in the new code. So she had to make a small modification to override something in the form layer. Oh. Traceback. “The tea is getting cold”. I’ll just override something in a the form field. And some extra customization there.
In the end, the code was horrible. And Alice’s sister was angry. What happened?
Good question! The problem: Alice was in a rabbit hole. She got so caught up in what she was doing that she just kept doing that for hours on end without really getting anywhere. You fall into a rabbit hole with a specific idea and keep trying different things to get the idea to work. You keep getting distracted by new problems and new ideas and new ways to try to get it going.
You’re so confused and frustrated that you don’t see the obvious things anymore.
What’s behind it?
One of the things is the Zeigarnik effect, which means you remember unfinished tasks much better than solved ones.
The second is the “sunk costs fallacy”. The more you invest in something, the harder it is to abandon it. Because, well, you already invested so much time and effort, right? You keep going and the costs you sunk into the project just keep piling up, making the fallacy even more potent.
You keep investing more and more into something you know won’t work. You’re in a rabbit hole.
How did Alice end up in the rabbit hole in this story?
How can you fight a rabbit hole? Basically, you need to realize it. Some symptoms she noticed with herself:
Here are some tips for getting out of a rabbit hole:
Ola is an experienced programmer. Conference organizer. Djangogirls co-founder. But she still finds herself in a rabbit hole from time to time. Those times in a rabbit hole make her feel bad and doubt her programming ability. So she’s very interested in extra tips to prevent it!
My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):