The zoo and the silence

Two months mentoring a coding bootcamp in Brunei taught me that 'senior developer' is what the title slide says. Whether you can actually explain anything — that's between you and a room of quiet faces.

8 min read
  • teaching
  • communication
  • craft
  • career

It’s a Tuesday morning in Bandar Seri Begawan. The slide says class Mammalia. I’m three minutes into an explanation of inheritance, in front of twenty students at Coding BN Cohort 3, and I’ve just realized none of them are nodding.

Nobody’s typing. Nobody’s asking. Nobody’s looking at their laptops. They’re looking at the slide, and the slide is looking back at them, and between the slide and the room is a silence I can feel against my shirt.

This isn’t the polite silence of we already know this. This is the silence of we have no idea what you’re talking about. Senior engineers get fluent in the first one. Most of us never learn to read the second.

I open Canva on a second tab. I start drawing a zoo.

The slide that didn’t land

The textbook example: Mammalia as the parent class, Lion and Whale as children, eat() and breathe() as inherited methods. I’d seen it in a dozen tutorials. I’d drawn it on whiteboards at work, watched colleagues nod through, and never wondered about it.

It assumes you’ve already met Linnaeus. It assumes that kingdom → phylum → class → order feels natural. It assumes the words “Mammalia is the parent of Lion” carry information rather than mystery.

Twenty bootcamp students, average age twenty-two, who’d come to learn how to ship software, did not necessarily have any of that. Why would they? Their closest brush with inheritance was their own family tree. Why is Mammalia the parent of Lion? Why does Lion inherit breathe()? What’s the point of the parent existing at all if the child does the work?

Felienne Hermans calls this a chunking problem in The Programmer’s Brain — your ability to read code is bounded by the patterns you’ve already chunked into long-term memory. New programmers don’t lack intelligence; they lack the chunks. And the example I’d been comfortable with assumed chunks I’d had since high school biology.

The slide hadn’t failed. I had failed — by picking an example whose first job was to teach a model my students didn’t have, before it could teach the one I actually wanted to teach.

Solo Leveling as UML

I don’t remember exactly when I switched. Somewhere around the third question — why does Lion need a parent? — I closed the slide and started over.

On Canva, I drew an Animal class with a name, an age, and an eat() method. I drew a Lion that extended it: same name and age, but with a roar. A Penguin: same name and age, but waddles instead of runs. I asked the room: if I add a Whale next week, what does the parent give me for free? Someone answered. The shape of the room shifted.

Then I went further. You watched Solo Leveling, right? Sung Jin-Woo has stats. HP, MP, Strength. He has methods — Shadow Extraction, Ruler’s Authority. A Hunter is-a Person with extra fields. An S-Rank Hunter is-a Hunter with even more fields. The shadow soldiers he extracts inherit from a base Shadow class. Half the room laughed. The other half started typing.

In Omniscient Reader’s Viewpoint, the constellations sponsor incarnations who get skills inherited from the constellation’s domain. That’s mixin composition. The Dokkaebi run the system that grants and tracks those skills — that’s a runtime.

They had this in their heads already. I just had to point at it.

What I learned that hour, and re-learned every week after, was simple enough to fit on an index card. The mental model is doing the work, not the explanation. The explanation is a path from where they are to where the model lives. When the path is short, you look like a great teacher. When the path is long, you look unprepared. Chip and Dan Heath called this concrete-and-unexpected in Made to Stick — the principles that make ideas survive in foreign heads are the ones that don’t require the listener to import a model they don’t have.

I’d been taking the short path for granted my whole career. The long path is what teaching is.

The mirror

For two months I taught most weeknights. After the first class I started keeping a note file called things that didn’t land today. It got long.

What it showed me, week by week:

I’d been getting away with bad explanations at work for years. Product managers nod. Reviewers leave a thumbs-up. New hires are too polite to say I don’t understand. Students aren’t polite. They just don’t reply. The silence is the feedback loop senior engineers stop getting.

The vocabulary I most loved was the vocabulary I most often had to translate. Abstraction, coupling, idempotent, side effect — I’d been wearing those words as if they were neutral when they were the dialect of a tribe I’d forgotten I’d joined. Saying idempotent to a beginner isn’t communicating. It’s flagging membership.

Steven Pinker calls this the curse of knowledge in The Sense of Style — once you know a thing, you cannot remember what it was like not to know it, and your explanations quietly stop accounting for the gap. The cure isn’t more rigor. The cure is staring into rooms where the gap is visible until you can feel where it lives.

The best engineers I’ve worked with were never the smartest-sounding ones. They were the ones who, in retrospect, made the path from where I was to where the model lived feel short. I’d been imitating their conclusions and not their craft. The craft was in the path-building.

And — this one took longest — AI tools haven’t replaced this. They’ve raised its price. A model can give you six different explanations of class Mammalia in three seconds. It cannot tell which of the six lands for this twenty-two-year-old who watched OMV last night and has never seen a class diagram. The triangulation between the explanation and the human in front of you — that’s the work that doesn’t get easier. It probably gets harder, because now the explanations are cheap and picking the right one is the entire skill.

Communication isn’t a soft skill. It’s the engineering skill that compounds. It’s what separates the senior who genuinely raises the level of a team from the senior who’s a fast typist with a long résumé. Teaching is the only mirror that shows you which one you are.

The closing ceremony

Two months later I’m at the podium in the same building. Behind me on the screen is a slide AITI made — a photo of me, the words AI Engineer | Senior Developer, a blurb I’d written about the cohort being “ready to deploy, debug, and deliver value from day one.”

The author at a podium giving a speech, with a slide on the screen behind him showing his bio: AI Engineer and Senior Developer at PT. Aegislabs, next to the Coding BN logo.
At the podium. Senior Developer is what the slide says. The room is what tells you whether you can actually explain anything.

Earlier in the morning the cohort had walked the Permanent Secretary of the Ministry of Finance and Economy and the CEO of AITI past their demo stations. I stood in the back. The students who’d been silent in week one were walking ministers through their architecture diagrams in two languages. They had built their own paths from where they started to where their projects now lived. I hadn’t done that for them. I’d just stood in the room while they did it.

VIP visitors in formal Brunei attire — including the Permanent Secretary of the Ministry of Finance and Economy and the CEO of AITI — standing at a row of computers as students demonstrate their projects.
The Permanent Secretary and the CEO of AITI at the demo stations. Two months earlier most of these students hadn’t written their first class.

When my turn came at the front, I tried to keep the speech short. I said the thing about how Coding BN doesn’t just teach syntax — that it cultivates the engineering mindset to deploy, debug, and deliver. I said it because I believed it. What I didn’t say at the podium — what I’m saying here — is that I learned more in that room than I taught. An Indonesian engineer flying in to mentor a Bruneian cohort, walking off the stage with a certificate of recognition handed over by a Bruneian Ministry official: I had been given the gift of twenty quiet faces, and the room had given me back something no PR review or design doc ever has — the unanswerable feedback of I don’t understand you yet.

The author receiving a certificate of recognition from a Ministry official in formal Brunei attire, in front of a backdrop showing the Coding BN Cohort 3 branding.
Receiving a certificate of recognition at the close of Coding BN Cohort 3. The certificate is for the mentoring. The lesson, it turns out, is mine.

What I’m taking back to Bandung

I flew home with a piece of paper that says I was a mentor. The paper isn’t the artifact. The artifact is the smaller, more honest thing the two months put in my pocket.

The next time I write a design doc, I’ll wonder what model I’m assuming the reader already has, and whether I should be teaching it before I rely on it. The next time I review a PR and the author says yeah, makes sense a beat too quickly, I’ll hold that beat. The silence is rarely that they understood. The silence is more often a path I haven’t built yet.

Back in Bandar Seri Begawan, two months ago, I’m at the front of a classroom. The slide says class Mammalia. Twenty faces. Nobody nodding.

Now, when I see that silence at home in Bandung — in Slack threads, in standups, in code review — I don’t reach for a longer explanation.

I look for the zoo.