5 things we learned from a veteran instructor at The Iron Yard
We were lucky enough to chat with Jesse Wolgamott who's the Director of Back-End Engineering and a veteran instructor at The Iron Yard. It only took a few questions for us to realize how passionate he is not only about his job but about the students he teaches. Before we jump into what stood out from our conversation with Jesse, we thought we'd let him explain what a typical day looks like for him:
9:30 a.m. to 12:30 p.m. - Lecture"Lectures are discussions; there are no slides to flip through. Instead, we discuss the history of technology. For example, how SQL came to exist and then how it led to the NoSQL movement. I write a little code, discuss why I wrote it and explain what I'll write next. The most valuable part is when I mess up during live coding and have to discuss my thought process for fixing the code."
2 to 3 p.m. - Optional review"My only requirement for the review is that it's old material and nothing new. Seeing the same techniques with slightly different wording is repetitive in the best way. Students catch on to different things each time they hear something, leading to lightbulb moments that are awesome to witness."
12:30 to 2 p.m. and 3 to 4:30 p.m. - One-on-one time with students"I love this part. It allows me to teach one-on-one with students and customize the types of analogies and techniques I use with them. For example, I may use Taylor Swift albums in one example and Katy Perry in another -- being able to distinguish which I use with what student is very useful in customizing the experience for each individual. But seriously, I'm able to gauge how each student diagnoses errors and then come up with a plan for them to develop a scientific method of debugging for when they are on their own after the class."
It's a pretty packed day, but we learned that Jesse truly loves it! Here's what else we learned from talking to Jesse:
1. Teaching is both emotional and rewarding
"Being an instructor is a very emotional job; it's both my favorite and least favorite part. Students tend to be worried if they've made the right choice, worried if they can do this, worried if they are smart enough to learn how to code. (SPOILER ALERT: they are). So I tend to take that emotional baggage onto my shoulders and we go through the process together. That emotional investment comes through when they graduate - you meet their family and everybody cries happy tears.I know that I played a small part in the student taking their life in an entirely new trajectory. Years later, when the students are on their second and third jobs, I'm filled with a pride and sense of accomplishment that I never achieved building software systems for businesses."
2. For coding beginners, ignorance isn't bliss
"Beginners tend to ignore both error messages and ignore documentation. Both are essential to figuring things out on your own. When something breaks, read the error message and try to figure out what the computer is telling you. Then, walk back your changes until something works -- the thing that you did between when it works and when it doesn't, that's the problem.So, take small steps and celebrate tiny wins. Set up checkpoints in your process where you make sure things are still working (this is an underused lifehack) and experience the "YEAH!" when it works. Those "YEAH!" moments will accumulate over time and make the "BOO" moments less effective."
3. So new to code you haven't tried it? Don't join a bootcamp...yet.
"People who have not tried to learn how to code on their own before joining a boot camp should not join a bootcamp. I want someone who has, at a minumum, told a computer to do something and it did it. I want them to have experienced that "YEAH!" feeling and want more of it. Crash courses are a good way to start this, as are some of the tutorials online.After the tutorials though, students are often left wondering what to do when they're on their own. That's where bootcamps come in. Ideally, students could get where they want to go without a bootcamp (it would just take longer than they want to spend). We accelerate that process."
4. Wrapping it up is easier said than done
"Teaching doesn't feel like work. The time when I'm going over a tech topic, discussing its history and talking about code makes the hours fly by. Mostly, I've had to learn how to effectively wrap up lectures in time, rather than worry about how to fill three hours of content each day."
5. Teaching what students NEED to know is crucial
"I tell new instructors, 'Don't try to teach what is interesting to YOU right now, teach what junior developers need to know.' You don't need to teach everything you've learned in approximately a decade or more of being a developer, you need to teach them how to think logically, how to debug errors and how to approach problems scientifically while using code to solve problems. You need to give students a start, a framework and guidance -- they do the rest."
To learn more about The Iron Yard, click here.