Meet the Meerkats

Meerkats eat scorpions. Baby meerkats need to learn to eat them too; but scorpions are tough! Parent Meerkats bring a live scorpion to their puppies, and when it's clear they cannot eat it, they maim the scorpion a bit and offer it again. If the puppy makes progress, but still struggles, more maiming ensues. A few iterations and the puppy eats the scorpion. Yummy!

For a puppy, eating a scorpion is not an easy task. This is not a problem where the solution is in front of you and you just have to walk towards it. A programmer swimming in web tutorials has only a vague idea of the desired end result: That he will be competent in that language or technology. Vague. Hard.

The puppy didn’t start eating - say - beetles to ‘train’. He could have spent weeks on beetles and not being better at actually eating scorpions. Which is the whole point, as scorpions is what’s around to eat!

How did the adult meerkats go about the problem? They started with something that was challenging even for them, and made it less challenging little by little. If they simplify too much, say with a dead scorpion, no learning happens.

The Method


The Meerkat method has three basic concepts.

Mentor: a person capable of leading others. This doesn't mean they are superhuman: you can be a so-so programmer and still lead a person who knows less than you. Both of you will come out the better for it. One can be a mentor on a particular topic, and a learner on (many!) others. The person being a learner with you today could be mentoring you on a skill they are better at than you.

Learner: a person who wants to follow a Mentor. You can be incredibly skillful in many technologies, and still play the Learner role for a new one you are learning. That is: no stigma in being a learner!

Scorpion: that is, a task at the limit of the Learner's capability. The Mentor will observe carefully how the learner goes about things; at the beginning he has little to use to prepare a first task. This doesn’t matter: the first task is something that the mentor finds demanding and interesting.

Learner: If you are learning a new technology, finding a Mentor is the fastest way to improve. Anybody can be a Mentor and a Learner at different times. On some technologies you can lead, and on others you can follow.

Learner: You need to find a project you like and a Mentor that you trust. Once you both agree you want to work together, the Mentor will give you a scorpion (see below for an example)

Mentor: You need to find a scorpion. A scorpion is a task you will give to the Learner, that is valuable/demanding for you; and more so to the Learner. You will gauge the difficulty of the task, and the skill of the Learner. The goal is to first give a task that is at the very end of his capabilities.

Learner: You try to do the task to the best of your capability. No need to pair, you can go on your own for a while. If the task feels impossibly hard, get back to the Mentor.

Mentor: Reduce scope, give a hint, or solve a bit of the task in front of the student. This is called 'maiming the scorpion'. The result is a simpler task. Be careful not to simplify too much, you want the student to still be at the border of his capability. Make a mental note on what he found to be an unsurmountable obstacle, because this will help you prepare the next task.

Both: Iterate till the task is solved.