Lessons from Teaching Coding

October 25, 2019

A few years back a colleague of mine asked me if I was interested in teaching some coding workshops at DCTV, a New York based non-profit that has been providing education and low-cost film equipment for nearly five decades. I jumped at the opportunity, did a few interviews — eventually leaving me standing in front of my first class, a room of adults just off work for the evening ready to learn how to code.

The first course I taught was an introduction to HTML/CSS. Over a three year period we rolled out “Build Your First Website”, “HTML/CSS 2”, “Introduction to JavaScript” and “Introduction to WordPress”. As I am sure any teacher would tell you, it is one thing to understand something yourself but to be able to break it down into sequential steps to help someone else understand the material is a unique challenge all its own.

Here are my biggest takeaways from teaching coding classes:
1. Breaking a skill like coding into its fundamental pieces will profoundly improve your understanding.

A teacher I once had required our class to build an object oriented application using the coding language Ruby. He provided the class with incredible detail that outlined every aspect of what we were to build.

Once our projects were complete, he introduced to Ruby on Rails. An exact replica of the project what we had just spun our wheels desperately trying to create. Once the initial frustration past, it was clear everyone understood Ruby on Rails with an intimate detail because we had worked through its building blocks.

2. In a similar vein teaching these courses made me dramatically better at WordPress theme development (Link to theme development tool kit) and troubleshooter. To build a theme you have to combine a collection of WordPress puzzle pieces.

For example, to make a single page you need header.php, page.php and footer.php. As their names suggest they visually stack on top of each other to build a single page you see when visiting the frontend of a site.

This is an abstraction of a static, hard coded webpage. Teaching these courses pulled me out of the WordPress paradigm and reminded me to consider the whole of what I was creating. With this renewed perspective my ability to template and troubleshoot where in the file schema an issue originates was refined.

3. Lesson number three: Teaching is super fun! I highly recommend any of my fellow hardworking computer types to mix this into their professional development.

4. Met some cool people, like Shayna

It was actually during these evening courses that I met our Support Engineer Shayna. She was a star student in my “Build Your First Website” course. She ended up attending all of the courses I taught at DCTV and at the end I asked her if she would like a job. We have worked together now for the last four years. I didn’t realize during all those courses that she was also gifted at data architecture.