Creative problem solving for developers
or: Why Mobile Makers Academy has a ping pong table
Life as a developer is akin to life as Indiana Jones. You spend most of your day getting out of tangled messes, but at the end of the day, when you solve the riddle and discover your own personal City of Atlantis, it’s all worth it.
This means that, as a developer, you need to be a good problem solver, and it’s one of the core reasons we have a ping pong table at Mobile Makers Academy for our iOS Developer/Instructors and students. Here’s why.
Solving a problem in four acts
In 1926, psychologist Graham Wallas identified four stages your brain goes through when wrestling a tough problem — which happens all the time in programming:
- Preparation: the initial time spent grappling with the problem, your first stab. Once you’ve exhausted all possibilities and have reached your limit of frustration, you move to the next stage.
- Incubation: the time you distract yourself, so your brain can incubate the idea. Don’t think on the problem. Go for a walk. Or do something else. In the background, your brain is still working on the problem without you knowing it. Once you’re done with the incubation stage, return to the problem.
- Illumination: the ah-ha! moment. When you find the solution.
- Verification: testing your solution.
The key to making this process work? Identify the best time to enter the incubation stage — the point where you want to rage quit — and the best type of incubation period.
In 2009, psychologists Ut Na Sio and Thomas C. Ormerod identified three types of incubation periods, all describing the level of cognitive activity.
- Relaxing, low cognitive activity: watching a sunrise, taking a nap; going for a light walk.
- Mildly active, mild cognitive activity: playing ping pong; checking in on Facebook; chatting with friends.
- Highly engaging, high cognitive activity: Writing an essay; solving a complicated puzzle.
The importance of the brick wall
Based on their research, the best type of incubation periods for solving programming problems is mild activity for about 20 minutes. Na Sio and Ormerod emphasize the need to reach a brick wall first, before embarking on an incubation period.
If you leap to ping pong without first having exhausted yourself and reached Def-Con Table Flip, you won’t get much out of the incubation period. You’ll actually stall your progress.
The same holds true if you don’t give yourself the right incubation type. If you go too relaxing, you’ll find yourself thinking about the problem during the incubation period. If you go too engaging, you’ll may exhaust your cognitive energy to solve the problem when you return.
Given the nature of programming and Mobile Makers as a bootcamp offering iOS developer training, we provide multiple, mildly active problem solving tools. Including ping pong.
References
Carey, Benedict. (2014). How we learn; the surprising truth about when, where, and why it happens. Random House: New York.