I taught an ML course last semester.
34 students. The experience humbled me more than any production outage.
You know what's really hard? Explaining backpropagation to someone who last did calculus in high school. Making gradient descent intuitive without oversimplifying. Helping students debug a model that "runs but gives wrong results" without just giving them the answer.
What I learned about teaching AI:
Analogies are everything. Gradient descent is "a blindfolded person finding the lowest point in a valley by feeling which way is downhill." Neural network layers are "increasingly abstract pattern detectors — first edges, then shapes, then objects."
Live coding beats slides. Students learn more from watching me debug a broken pipeline in real-time than from any number of polished presentations. Especially when I make mistakes — it normalizes the struggle.
Projects beat exams. A student who builds a working chatbot learns more than one who memorizes loss functions.
And the most important thing: patience. The concepts that feel obvious after years of practice are genuinely confusing the first time. Meeting students where they are, not where I think they should be, is the whole job.
Teaching makes you better at building. Explaining forces understanding. And watching a student's face when their first model works? That's better than any production deployment.