Every Developer Should Teach, at Least Once
How Teaching Tech Sharpens Your Thinking, Empathy, and Leadership Skills
“While we teach, we learn.” - Seneca
I remember back in Iran, the first time I failed a class, I spiraled. I didn’t ask, “What went wrong?” I asked, “What’s wrong with me?” Like most humans, my default response to failure was self-blame. The pain didn’t just sting, it stuck.
In a desperate attempt to fix it, I tried everything: extra classes, study groups, structured learning programs where a teacher spoon-feeds you the syllabus. But none of it really clicked.
What did change things was this strange little experiment: every time I read something new, I tried to teach it.
Now you might ask, “Teach who? You don’t even know the topic yourself.” Fair enough. Stay with me.
I found a few methods that worked:
Teaching myself out loud, as if I were the instructor. No silent reading. I stood up and explained the concept like I was running a class.
Finding people who wanted to learn, and asking them if I could teach the topic for free. That gave me a reason to study faster, dig deeper, and find answers to questions I hadn’t thought of.
Cornering my friends (bless their patience) and turning our hangouts into impromptu lessons. I’d explain what I just learned and see if I could make it make sense to someone else.
There were more hacks, but let’s not get lost in the weeds.
The point is: teaching saved me. It wasn’t just a tool for others; it was a mirror, a motivator, and a method to turn confusion into clarity.
And that’s what brings us back to the main topic: teaching.
1. Teaching Forces You to Actually Understand
“If you can't explain it simply, you don't understand it well enough.” - Albert Einstein
The truth is, we developers often think we understand something… until we try to explain it to a beginner.
When I first taught the difference between a monolith and a microservice, I realized I’d been using metaphors and BS that only made sense to someone already deep in the trenches. Teaching forced me to revisit assumptions, clarify my logic, and simplify.
Most of the time, when someone tries to explain something in the team meeting, I take the role of the dummest person in the room and I kindly ask them, “Try to explain as if I’m 5”.
It’s like writing tests; teaching exposes the edge cases in your own knowledge.
Try this:
Pick a concept you use daily, Git rebase, dependency injection, Kubernetes pods, and explain it to a non-technical friend. Watch where you stumble. That’s your gap.
2. Teaching Builds Empathy, a Superpower for Any Leader
“The single biggest problem in communication is the illusion that it has taken place.” - George Bernard Shaw
Technical brilliance is great. But communication? That’s leadership.
In my first year of “trying to be a leader“, I made a crucial mistake: I assumed everyone had the same mental models I did. I’d say things like “Just abstract that into a service,” or “Push it into the audio queues”(My Internet Radio days), and be met with blank stares.
Teaching forced me to slow down. To ask what do they need to hear, not just what do I want to say. That shift built empathy, and empathy became my leadership foundation.
Every time I taught something, I was also practicing how to read the room, rephrase ideas, and check for real understanding, not just nodding heads. Those are the exact same muscles you need when guiding a team through complexity.
Now, maybe you’re thinking, “Well, people should just ask if they don’t understand.” Sure. In theory.
But how often have you seen someone stay quiet in a meeting, nod along in a crowd, and then completely miss the mark later?
Yeah. Me too. More times than I can count.
As much as I believe in “be the dumbest person in the room” as a learning mindset, if you’re the one leading, the burden’s on you to make things clear. You don’t get to blame silence. You have to notice it.
Teaching taught me that. If your audience isn’t following, it’s not their failure; it’s your feedback.
Alternative perspective:
Could this make senior developers too “soft,” less focused on technical mastery? In my experience, no, if you see empathy as a tradeoff instead of a multiplier. But the best tech leaders I’ve known? They blend depth with humanity.
3. Teaching Is the Fastest Path to Leadership Without the Title
Here’s the kicker: You don’t need permission to lead. We already talked about it in older posts.
I’ve seen junior engineers become cultural anchors simply by running a Q&A group on weekends. I’ve seen mid-level devs fast-track into team leads because they mentored a struggling colleague through system design.
Teaching makes you visible, not in a show-off way, but in a trusted guide way. And teams follow trust. Not just teams, humans follow trust.
“A leader is one who knows the way, goes the way, and shows the way.” - John C. Maxwell
You don’t have to wait for a promotion. Start teaching. It might become your promotion.
4. It Connects You to a Greater Purpose
Sometimes we forget: code is just a tool.
What matters is the people we empower with it, and teaching is a direct line to that impact. Whether it’s a junior dev breaking into tech, or a peer finally understanding Kubernetes, you made that possible.
In a world of burnout, layoffs, and impostor syndrome, teaching grounds us in meaning.
It reminds us: we’re not just building systems, we’re building people.
Let’s Flip the Lens
Now, let’s challenge some assumptions, shall we:
Assumption: Teaching is for experts.
Counterpoint: Teaching is how you become one. You only need to be one step ahead to help someone behind you.
Assumption: It takes too much time.
Counterpoint: You’re already explaining things in Chat, code reviews, and pair programming. Why not do it intentionally?
Assumption: It’s not part of my job.
Counterpoint: If you care about your team, your craft, or your own growth, teaching is your job.
How to Start
Run an internal workshop on a topic you love.
Write a blog post explaining a tricky concept simply.
Host a coding session for juniors or interns.
Speak at meetups (start small, even 5 people counts).
Record a short screencast for your team’s wiki.
Don’t wait until you feel “ready.” Teaching makes you ready. Drop the perfectionist act.
Final Thought
“When one teaches, two learn.” - Robert Heinlein
I love this quote, so simple yet so deep.
Whether you’re a backend wizard, a frontend artist, or somewhere in between, you have something worth teaching. And in the process, you’ll grow sharper, kinder, and more influential than ever.
So here’s my challenge:
What will you teach this month?



