How do you become an expert? Why some Ruby developers can’t explain what they know? Why some developers don’t develop expert skills? What does it mean to be a Ruby expert?

To discuss these questions, we’ll explore Perceptual Learning (PL) research.

PL is a natural learning process that complements traditional Education. It accelerates expertise by speeding pattern recognition, intuition and fluency on a given subject.

Ever since I found out about Perceptual Learning in the book “Badass - Making users awesome”, from Kathy Sierra, I got really curious to learn more about the science behind Perceptual Learning.

I’ve been doing lots of research on Perceptual Learning and its applications in Education in many domains.

In this introductory article, you are going to learn:

  • What does it mean to be an expert.
  • What is Perceptual Learning (PL).

Perceptual Learning

Perceptual learning was an emerging field in the 1960s with the work of the psychologist Eleanor Gibson. Her work showed that Perceptual Learning consists of improvements in information extraction as a result of practice.

Perceptual Learning is one of the most important components of learning and expertise.

For the past 2 decades, PL has become an area of concentrated focus in the cognitive and neural sciences because of its promising results on accelerating expertise.

What has programming to do with Perceptual Learning? Isn’t programming such a high-level cognitive task?

Recent work indicates that PL is strongly involved even in very high-level cognitive domains, such as the learning and understanding of mathematics […] Although this research area is relatively new, findings indicate that even short PL interventions can accelerate the fluent use of structures […]" – Kellman, Massey & Son (2009).

What is the relationship between PL and expertise?

“Perceptual Learning underlies many, if not most, of the profound differences between experts and novices in any domain” says Kellman et al. (2008).

When we talk about expertise, it doesn’t take too long until someone brings up the case of chess players.

Becoming a chess expert is often mistaken by a mysterious explanation because chess players can’t explain how they know what they know. If you ask them to verbalize all the decisions they make, they won’t be able to give you too many details about what’s going on in their heads.

Similarly, elite athletes are trained to not have to think at all. In fact, if you ask a tennis player, or any athelete, to explain their decisions as they perform, they will try to become aware of their actions, and they will perform poorly as a result. Because they are no longer relying on their automatic pilot.

How fast and accurately you perform indicates how much an expert you are.

That’s why when you ask experts “how did you know that?” or “can you teach me what you know”, you often get disappointed with the responses you get: “it’s just practice”, or “I just know it”.

What does it mean to be an expert?

Put simply, expertise can be defined as:

Rapid, automatic pick-up of important patterns and relationships – including relations that are quite abstract – characterizes experts in many domains of human expertise. Experts tend to see at a glance what is relevant and what it is not. They tend to pick up relations that are invisible to novices and to extract information with low attentional load.

In a paper entitled “Perceptual Learning Modules in Mathematics: Enhancing Student’s Pattern Recognition, Structure Extraction, and Fluency” (2010) gives us this comparison between novices and experts:

Table 1. Some characteristics of novice and expert information extraction

Some characteristics of novice and expert information extraction - Kellman et al. (2008)

Does that ring a bell? Do you remember the first time you wrote your first line of Ruby code?

You had to figure out so many things at once. You spent lots of time (more than you initially expected) solving syntax issues, trying to decode errors that you had any idea where they were coming from!

If that’s where you are right now, you’re doing great, my friend. Embrace discomfort!

That’s expected. You’re a human being learning a complex subject!

We don’t grow when we’re enjoying ourselves – we learn best when we are challenged, struggling, and occasionally falling - Ron Friedman

Your brain does not see what an expert sees, even though you are both presented with the same information.

So when you feel like you:

  • just don’t know enough to figure out what’s going on.
  • just need to reach the point where everything clicks.
  • will never understand programming and Ruby.

It doesn’t mean you don’t have what it takes to be a Ruby developer. It’s because you haven’t produced better pattern processing skills yet, and not because you don’t have a programming brain. There is no such thing.

A brain is a brain and, and as modern neuroscience has been proving over and over again, your brain is more capable than you imagine!

How to develop pattern processing expert skills

We do that by developing domain-specific changes in the extraction of information.

According to Kellman & Massey (2013), with appropriate practice, the brain progressively configures information extraction in any domain to optimize task performance.

PL produces a variety of effects that fall into two categories:

  • Discovery: finding out what information is relevant to a domain or classification (information selection). As each new instance will differ from the previous ones, learning also includes ignoring irrelevant differences.
  • Fluency: extracting information with greater ease, speed, or reduced cognitive load; changes in the efficiency of information extraction. More parallel processing and faster pickup of information.

For the sake of keeping this resource short, let’s see one example of PL training.

From “Perceptual learning and the technology of expertise: Studies in fraction learning and algebra”, Kellman et al. (2008), focused on presenting the reasoning and problem solving with fractional quantities, and algebra.

We’ll focus only on the fraction experiment.

Perceptual Learning in Fractions

The goal of this experiment was to help upper elementary and middle school students to recognize and discriminate different types of fraction problems, and their ability to map these structures across different formats (word problems, fraction strips, number sentences).

All students attended 9 classes about unit first fractions:

Examples of Unit and Non-unit Fractions

Examples of Unit and Non-unit Fractions

Once they were finished, they were divided into 3 groups:

  • Unit first - Unit First PL, then 7 more lessons on non-unit fractions after, followed by Mixed Unit PL training.

  • Mixed PL - 7 more lessons on non-unit fractions, followed by Mixed Unit PL training.

  • Control - 7 more lessons on non-unit fractions but no PL training.

The PL trials for the Mixed and Unit-First groups had 2 to 13 sessions of 30 minutes training each.


The tests focused on the transfer of knowledge by knowing how to solve problems involving fractions and comparing fractional quantities, focusing on the patterns, instead of computing solutions.

Results from pre-test, immediate post-test, and delayed post-test (9 weeks after):

  • All the groups improved their performance in the post-test and delayed post-test.
  • The two PLM groups outperformed the no-PLM Control group.
  • The Mixed-Unit group retained significant learning gains after 9 weeks of training.
Results from the experiment.

Results from the experiment.

The results show that:

  • Presenting simple and complex examples together help the students develop a more comprehensive and relational way to solve problems using fractions.
  • Lessons on identifying structural patterns, as opposed to focusing on solving problems, is effective in leading to a better understanding of fractions.
  • Supplementing lessons with PLM training shows significant learning gains.

From a PL perspective, the mind is a pattern recognizer and not a container of information.

Next, let’s learn what can adapt the results from Perceptual Learning research for A Better Way to Practice Ruby with Deliberate Practice.

Did you like this article? You're gonna love these other ones: