This post is based on “El camino del aprendizaje” (in Spanish), a talk I gave with Ronny Ancorini at CAS 2016, the Agile Spain conference, in Vitoria. The recording is on Beyond Tech Notes. Several of the ideas and stories here are Ronny’s, and I say so where they appear.

This is how we picture learning: a road whose end you can’t see. Sometimes it goes uphill, sometimes downhill, and sometimes it has so many curves that information comes at you from every side. Ronny says curves are more fun than straight lines, and I agree.
Ronny and I met at a coding dojo, pair programming. Later we were both at Codesai, where he started as an apprentice. That led to a pair project and to conversations about CQRS and event sourcing at three in the morning. He likes to call me his mentor. I don’t like the word much, so let’s say we’ve been travel companions on this road.
Where the road starts
There’s a lot to say about learning before your first job: university, no university, and everything in between. That’s another post. This one starts later, when you’ve studied however you studied, you land your first job, and you think you know everything. Then you find out you don’t, and that the road ahead is far longer than the one behind you.
We split it into three questions: how to learn, what to learn, and with whom.
How to learn
Shu, ha, ri
Shuhari comes from the martial arts, from aikido as far as I know. It describes three stages of learning and how to behave in each one.

- Shu. You’re starting out and know nothing, or very little. You’re practically an embryo. You learn by imitation: find a mentor, a master, whatever you want to call someone further along the road, and follow their practices and guidance without questioning them. Trust their judgment for now.
- Ha. At some point you start to understand the values and principles behind the practices you’ve been repeating over and over, often without knowing where they came from.
- Ri. Once you understand the context and the principles, you have room to innovate, to question those practices, and to find your own way.
You can read it as imitation, assimilation, and innovation. Or as follow the rules, understand the rules, break the rules.
Empty your cup
Ronny brought a fable from the second chapter of Apprenticeship Patterns, by Dave Hoover and Adewale Oshineye, a book that hooked him. The chapter is called “Emptying the Cup”.
A Zen master is waiting for a young philosopher whom all his teachers have sent to see him. The master starts explaining his meditation techniques, and five seconds later the young man interrupts to say he already knows how to meditate, and that he’s good at it. The master moves on to other ideas, patiently letting him finish every time, and every time the conversation ends the same way: the young man interrupts, the master waits.
So the master offers him tea. The young man had come almost just to taste the master’s tea, so he accepts. The master starts pouring into his cup and keeps pouring, more than anyone would pour, until the tea spills over and runs across the floor. The startled young man asks him what he’s doing. The master answers that there’s a problem: he came with a full cup and expects to be served something to drink.

When you want to learn something from someone, try to set aside what you already know, so you can take in a completely different point of view. Ronny quotes something Sandro Mancuso told him at a conference: sometimes you have to be selfish about your learning. You already know your own point of view, so be selfish and go after the other person’s. It will probably give you a different angle.
Take charge of your learning
Throughout your life you’ll meet teachers you don’t like, ones you blame for teaching you the wrong things. It happens at work too: the company won’t buy you a book or send you to a conference. It’s much better when it does. When it doesn’t, the fault doesn’t lie with that external factor. It usually lies with us. You’re the one who has to take charge of your learning, because it’s your career you’re building.
One pattern from Apprenticeship Patterns was a revelation for Ronny here: “Draw Your Own Map”. Be aware of where you are and set yourself small goals, reachable enough to keep you motivated. Then look for feedback. If you talk to someone and they change how you see things, don’t be afraid to redraw the map. What you get from that feedback is guidance, not teaching. The learning is still your responsibility.
Practice, read, share
Three habits have worked for us to build that road.
Practice is the best way to assimilate concepts. It’s how you move through shu, ha, and ri. Josh Kaufman has a talk claiming you can learn anything in 20 hours. That’s a bit optimistic, but the point holds: with 20 hours of deliberate practice you can go from knowing nothing to being able to do something in almost any skill.
Reading is what brings in new knowledge, which you then take to practice. Until recently Ronny read badly. His reading habits were terrible, which was a problem when most of what he learned came from reading. So a group of us in the community read Ramón Campayo’s book on speed reading together. In two weeks, some of us doubled our reading speed. The payoff was huge.
Sharing forces you to learn. When you write a blog post, you discover all the things you weren’t clear about. You start researching, because you’re going to publish it and people are going to read it, and that makes you care more. Then you explain it to others, and their feedback teaches you something new.
What to learn
Your ignorance
“Ignorance” usually carries negative connotations. We treat it as an enemy rather than an ally. But the Spanish dictionary defines it as nothing more than a lack of knowledge in some area. Seen that way, it stops being a bad word and becomes an opportunity: when I’m aware of being ignorant about something, I know what I should learn next.
Apprenticeship Patterns has two patterns for this: expose your ignorance and confront it. Say “I don’t know what this is about” without fear. Some people resist showing what they don’t know. For an apprentice, though, exposing your ignorance and then confronting it is the best way to prove to yourself, more than to anyone else, that you’re learning. Tomorrow you’ll notice that what you asked about yesterday, you know today.
That morning Chris Matts had opened the conference with a keynote that showed the competence quadrants, and they fit here. Exposing your ignorance turns it into conscious incompetence. Confronting it draws a vector from there to conscious competence.
Focus
The trouble with confronting your ignorance is that there’s so much information. We can’t get through this without the usual joke about how many JavaScript frameworks there are, but it’s true. There’s too much, and you need ways to filter it and choose what to confront first.
With whom to learn
You’re not alone
The other defense against the flood of information is realizing you don’t learn alone. Delegate. Let others pass knowledge on to you, inside your company and outside it, in plenty of formats:
- Communities. If there isn’t one for what you want to learn, why not found one?
- Events.
- Study groups. At Ronny’s office, when a team uses a pattern or a principle worth sharing, they hold a meeting to share it with everyone.
- Book clubs. For those of us who weren’t big readers, they’re a great way to make yourself read.
Mentors and kindred spirits
Two more come from Apprenticeship Patterns. Kindred spirits are the people walking the road with you. And a mentor: Ronny says having mentors was one of the best things about his time as an apprentice. Whenever he was lost about what to learn next, someone at Codesai gave him a hand. And they always tell you they wish they’d had that twenty years ago.

Even Goku needed a long line of mentors.
The company has its own road
We talk about our own road, but the company you work for has one too. A lot was said at the conference about corporate culture, and it matters here: we do our job in a context, and we should be aligned with the culture of our company and the road it’s trying to take.
Learning takes a lot of energy. Working somewhere whose principles, values, and direction you don’t share takes even more.
So, again, don’t make the company responsible for your learning. And don’t be Don Quixote.

Jerónimo Palacios wrote a blog post about this the day after Ronny and I had agreed to stress it in the talk. Sometimes it’s better to spend your energy finding another job than trying to change the company you’re in, especially at the start of your career. Maybe later you’ll be the master of the universe, or believe you are, and your new challenge will be joining a company to change it. When you’re starting out, though, remember how much energy learning takes, and don’t walk into a company expecting to change its whole way of working.
The same goes for companies. Apply shu to yourselves too: imitate without questioning at first. Don’t jump on day one from a heavyweight process like RUP or CMMI to “we’re customizing our own Scrum, because Scrum doesn’t work for us”. If you haven’t tried it, if you don’t know it yet, you’re still an embryo.
Learn to learn
All of this comes down to how important it is to learn how to learn. The better we get at learning, the more and the better we’ll learn. We closed with a line attributed to Dr. Seuss: “It is better to know how to learn than to know.”
When do you stop being an apprentice?
Someone in the audience asked when you stop being an apprentice, when you finish walking the road. Never. Today you know something, and tomorrow you’re an apprentice at something else.
I don’t like the word “apprentice” much, but what bothers me is the idea that some people are apprentices and others aren’t. We’re all apprentices. The first software I wrote that went to production was in Clipper, and that hasn’t been any use to me since. I’ve had to empty my cup many times, and I’ll have to keep emptying it.