I’ve talked about talking about code before, the process I’ve been going through to start to learn to teach.
Until the first lesson, everything I’ve shared has been implicit. Implicitly sharing knowledge among my team, implicitly collecting ideas. No structure, no overt plan, and always among those who have similar skill profiles; easily shared within existing language and metaphors.
I’ve had my first students now, and the process of active teaching is very different.
Everything you Know is Complicated
On a team or with peers, everyone has a similar basis of knowledge. They have understanding of the models of computation; logic and data flows. Their philosophies may differ, but the core understandings derive from similar places.
A new student has none of those models. A two or three word description of an idea to a colleague becomes an involved discussion, covering the underpinnings of the idea. Those underpinnings then have underpinnings of their own, down to the most basic building blocks of what program code is to a human, and to a computer.
They’re not Stupid,
Here, I’ve fallen into the they’re stupid trap; this is an idea I grasp so easily, why can’t they?
It’s simple, isn’t it? If they can’t grasp it they must be stupid.
Not so simple as that, however. When we learn, we change our brains; we re-form connections and become adept at a new mode of thinking. We grow to fit the thoughts required.
The final moment of sudden inspiration and understanding is our brain completing that process.
If we call or think others stupid for not having completed that process, we harm their progress. They are discouraged, being told they are inept.
We are no longer valued mentors.
All of it comes from no longer being capable judges of complexity. Our thoughts of a thousand times a day are these difficult ideas, in a brain honed to have them.
For our students, analogies. Patience. Humans are brilliant beings, able to map new ideas into existing frameworks. They are building a map to understanding with your help; rebuilding their brain towards greater capabilities.
and Neither are You
The other easily internalised toxic narrative is that I must be stupid for being unable to teach. It’s such a simple idea, but I can’t get it across. How come?
I must not be smart enough.
Again, this falls apart under closer inspection; this is a space we live in every day. I think about code, about design and structure all the time, but my student doesn’t.
They don’t have any of the shortcuts or mental space to do what I do; how can I expect to teach what I do with any ease?
Even as they learn to think in new ways, so must I. I must learn to cull my knowledge into the simplest forms; making better analogies and abstractions; cautiously omitting unnecessary details.
I have to distill knowledge to a point where those foundational ideas can be transferred, but also changed once they need to be. Too fast, and the transfer can become lossy, or damaging. Too slow, and more challenging abstractions are never reached.
How is it stupidity to need to learn this skill?
We’re All Learning
Impostor syndrome costs us confidence to teach; losing our perspective of difficulty forces us to judge others harshly.
They’re not too stupid, and neither am I; I have to learn what I know, and how to share it.
They have to learn new ways of thought and process and logic. They’re learning to grow, as am I.
Of course, the greatest reward in this was the excitement I saw in my students; seeing things click into place and their understanding growing. The understanding of what it means, and new ways to apply that information.
The moment the hurdle is cleared, and the confidence in their eyes; we had that once, someone saw it in us once.
With time, they will get to see it too.