I teach as an adjunct professor alongside building products, courses across programming, web, mobile, game dev, and AI. I went in thinking I was there to give. It turned out teaching gave a lot back to how I build.
The short version: when you have to explain something to a room of students who will ask the obvious question you skipped over, you find out very quickly how well you actually understand it.
Explaining it exposes the gaps
There is a kind of understanding that survives in your own head because you never have to defend it. The moment a student asks why, the hand-wavy parts fall apart. I have caught myself mid-sentence realizing I did not really know why I did something a certain way, only that I always had. That is uncomfortable, and it is also exactly the feedback that makes you better.
If you cannot explain it simply to someone new, you probably understand it less well than you think. That goes for code too.
Simple is a skill, not a starting point
Students do not need the cleverest version, they need the clearest one. Teaching pushed me toward simpler explanations, and that habit leaked into my work. I started writing code and docs the way I would teach them - plainly, with the why included, assuming the reader is smart but new.
A few things teaching changed about how I work:
- I explain the why, not just the what, because someone is going to ask.
- I reach for the simplest version that is still correct, in lessons and in code.
- I assume the next person reading this is capable but new to it, including future me.
- I stay humble about what I actually understand versus what I have just gotten used to.
I am more of a doer than a talker, but teaching reminded me that being able to explain the thing clearly is part of doing it well.