My Experience Teaching
To this day I still sometimes have nightmares that I’ve been called in to teach for . They’re fueled by memories of corralling energetic kids into their seats, breaking up fights, and keeping minecraft closed on their laptops long enough to teach a lesson on arrays. It was quite a stressful job, and yet I can honestly say that I loved my time as a teacher.
Working with my students was one of the greatest honors of my life. Moreover, teaching programming reignited the passion that got me into the field in the first place. I didn’t just teach syntax. I made learning into an adventure, explaining programming through science, robotics, game design, and so much more. I wanted to help kids see coding as the magical power that it is. I was constantly inspired and impressed by their creativity, and today I cherish all of the wonderful creations that my students were kind enough to leave with me.
They also left me with so many lasting memories. Best of all are those of guiding children who were frustrated with a coding problem and watching them light up as the solution clicked and programming became a source of pride for them. Nothing makes me more proud than imagining that the lessons that I taught helped spark a students’ lifelong passion for technology.
While I dearly hope that I made a positive impact on the lives of the children I worked with, what I know for certain is that they had a profound effect on mine. No other role has had such a meaningful effect on my growth, not only personally but also as a developer. To describe my time working as a teacher, I need to explain the effect it had on me.

How Teaching Changed Me
Building social skills
Growing up as a computer nerd left me a little more awkward going into adulthood than I would care to admit. I used to be quite unassertive and introverted, so coming out of college did I logically choose a quiet desk job? Nope, I decided to provide myself a trial by fire in communication by becoming a teacher!
The first few weeks of teaching I wasn’t sure if I would survive, it felt wild to me that I was responsible for the safety and the enrichment of packs of little humans! I was being trampled at first, a single troublemaker was enough to fully derail my lesson because I was unsure of how to take control. Being stern or demanding is not in my nature, and kids seem to see through that pretty fast.
I had to learn my own way of working with kids. I discovered that by encouraging them, listening to their feelings, and generally just treating them like human beings even the worst troublemakers would usually open up to compromise. Oftentimes a kid was just bored or frustrated and by talking it out with them I could help tailor the experience to their personal interests. Instead of designing a robot, maybe they’d rather build a mechanical dinosaur. Just being heard makes life a lot less frustrating.
Minds Of Tomorrow ended up being happy enough with my performance as a teacher that they offered me a role managing the entire studio. I would continue creating course content but with the added responsibilities of guiding other teachers and working directly with parents. I had never worked in a managerial role before so doing so refined many social skills I had already gained at MoT (It better have, I couldn’t be talking to adults like I did children 😅). Advising and collaborating with the other teachers was a blast, and it allowed me to work with so many more topics than I ever could have on my own.
However, being at the front lines of every conflict and calamity that parents, students, and teachers faced took me out of my comfort zone once more. With students, I very rarely found the need to resort to stern discipline, but even in those tough scenarios I found assertiveness coming to me so much easier than before. Working through challenges with my coworkers and student’s parents, I found myself becoming the confident and approachable adult I’d hoped to be prior to teaching.

Adaptability
Hands-on exercises meant that I was always receiving a stress test on my work. Something may have worked for me earlier at home, but that doesn’t mean at showtime it will work on dozens of student’s laptops, circuit boards, and motors. It wasn’t enough to create a good lesson, I had to be prepared to adjust to any number of wrenches in my carefully devised plan.
If a student’s device was on the fritz, I suddenly might have to adapt an exercise to work with groups. If my lesson flopped and the kids were bored or confused, I’d need to pivot to accommodate my students’ needs, sometimes drastically changing the lesson to keep everyone on pace. These experiences trained me to practice flexibility when faced with roadblocks in fast paced environments.

Mastery of fundamentals
I would love to say that while teaching I was utilizing advanced university level concepts, but for the most part that was not the case. I was teaching the fundamentals; objects, functions, arrays, conditions, loops, variables, and how they can all come together to build a program. But oh dear was I surprised at how thoroughly my knowledge of these simple concepts would be tested by my students. Out of left field questions like, “How does the computer remember what I named a variable?” exposed holes in my understanding of what goes on behind the scenes as we code. It was strange to study topics I believed I already understood, but in doing so I gained a new level of understanding of the systems we work with every day.
I’ve carried this mindset with me as I approach learning new topics today. It’s not enough to know enough to get by, I want to understand the tech I work with inside and out.
That was a major reason why when I decided to strengthen my React fundamentals, I chose to take Josh Comeau’s Joy Of React course. He shares my philosophy that the systems we work with should not be a black box and his course helped me to finally understand how React works under the hood.
Rapid debugging
Debugging code is a skill that can only be improved with experience, and boy did I get a lot of it while working with kids. In my own code I certainly run into bugs that need squashing, but they pale in comparison with the wild and wacky mistakes you’ll find within the code of a junior developer.
For a coding beginner, frequent bugs, syntax errors, and generally messy code are nothing to be ashamed of. All of those misteps are an unavoidable part of the journey to writing great code! When kids would write programs with dozens of block instructions or especially when typing their own code from scratch, these errors would be abundant.

Often it would come time to test the output and only half of the student’s programs would work as expected. I would then scroll through a student’s code to identify the source of the problem, give them a hint on the solution, and then move on to another student’s code before coming back to see if they’d solved it. In a large classroom it was vital that I was able to identify the problematic lines in a matter of seconds so that each student could be caught up quickly enough for us to finish together as a class.
Eventually I noticed that these fast paced debugging gauntlets were having a noticeable effect on the speed in which I was able to debug my own code. Though the programs I write might be more complicated, when debugging them I have the advantage of having written the bugs myself. 🪲
Learning to learn better
In order to learn how to teach well, I had to teach myself how to learn well. As cheesy as that may sound it’s the truth! A good teacher must be a good student first.
Every couple of weeks I would teach programming through a brand new lens. One week the subject would be game design, then biology, then space exploration, then robot battles, ect. On top of the theme, Minds of Tomorrow helped us keep the material fresh and exciting by providing us with varied technologies to use for experiments and exercises throughout the course. Super cool tools like arduino circuit boards, motors, sensors, RC vehicles, programmable instruments, and more would appear in the studio. I would need to research the weekly theme and the new technologies well enough that I could explain it to my students, troubleshoot any problem that may arise during class, and immerse them in the subject.

Prior to this job however, I was prone to anxiety when learning new skills. I was worried that I would fail to understand and I didn’t want to risk feeling stupid. So it was a bit overwhelming at first to spend so much time researching unfamiliar subjects and disciplines for class.
Teaching my student’s though, I noticed that so many of them experienced the same exact anxiety that I was going through. They felt so nervous that they would look stupid in front of their classmates that they didn’t want to participate in the first place. In response, it was so easy for me to affirm to these students that they had nothing to worry about, that I knew their best would be good enough, that the only way to fail was to not try at all. With encouragement, when my students gave the lesson their best shot they always had fun learning something new.

Witnessing this complex outside of myself, it felt so silly! I began trying to explore topics how I hoped my students would, with bright eyed enthusiasm. When that anxiety is confronted, learning new skills becomes an exciting endeavor.
Researching topics through this new lens allowed me to naturally uncover the fun and wonder within. When Arduino circuits arrived in the studio I didn’t just test them, I geeked out over them. I bought my own Arduino and spent hours tinkering at home, learning everything there was to learn about them. My lessons became so much more fun because I understood what was exciting about the subject. I'm very grateful Minds of Tomorrow provided me with the opportunity to learn so many skills that I carry with me; I’m still geeking out over micro-computers today!
Kindling my eagerness to learn new things has ended up being my most valuable asset as a programmer. Web development spawns an ever-expanding fractal of new information, new frameworks, and new skills to learn. It can be so easy to find yourself overwhelmed in the face of all that you have yet to know. If we maintain the passion and excitement we feel for our craft, learning is no burden. Nothing could make me happier than knowing that there’s so much out there yet to learn!
