I have taught hundreds of beginner developers through CTROTECH over the past few years. I expected to help them learn. I did not expect they would make me a better engineer. Here is the pattern I noticed: every time a student struggled with something, it revealed an assumption I had been making in my own code. Fixing those assumptions made my code better. This article is about five specific patterns I observed across hundreds of students and how they changed the way I write software. ...