How Coaching Robotics and Teaching CS Have Made Me Better As A Developer

A series of different futuristic robots
Robots Are Awesome

It probably goes without saying that teaching CS will make you better at CS. There's that whole saying about "if you want to understand something then teach it." That's not what I'm getting at in this blog.

Teacher holding a pointer
Teachers are lifelong learners

CS and Robotics have made me better as a developer because I am responsible to people.

I have 70+ students in my CS classes and about 7 students that make up the Robotics team. Each day I spend with them is one where I have to make sacrifices:

I have to be ready to walk through code line-by-line and reexplain what's going on in multiple different ways. I have to teach them how to debug and how to take a break when they get frustrated. I have to be the bad guy on deadlines and the encourager when they give up. I have to add a full work day to my week most times so that we can stay behind after school and make sure our robot is ready for competition.

But these sacrifices are not without reward. I've seen our kids learn more in math by studying a torque transfer than they have the previous year in a math class. I've seen kids CHEER when their project is finished and they solved that one issue that kept it from working right for so long. I've seen kids quit getting referrals to the office and making better decisions because our robot matters now. Those are a few of the million reasons that I keep making those sacrifices.
My robotics team after placing second in state
Caney Creek Panther Robotics - 2017-2018 UIL State Runners-Up

My students have made me a better developer. I have learned to debug like a whiz, because I have to know what's wrong to help them figure it out. They keep me honest: I have learned that messing up in front of students is more important than showing them perfection. They cause me to take my own advice and look things up. Why? Because I know it's important and they will do what I do. I've learned the be critically constructive because of my students. They need to be built up every day, but how can they get better with a "good job!" alone?

My students ask me questions all the time and I've learned to say, "I don't know, let's figure that out" instead of BS'ing my way through it.

A little girl comically gesticulating that she doesn't know the answer to something
"I Don't Know...let's figure it out!"
I don't know that I'll ever be the most technical programmer. I do know that I am a leader and someone who makes those around me better.

Each day that I study JS or whatever need be to set myself up for a career in development, I do most of it for them. I have been on the war path the past few years to show my students that with hard work, honesty, accountability, and vision that you can make it in this field. Each day they make me work harder because I know they are following me.

If you are working like me to learn development and make it in this community, I couldn't urge you more to teach it. I was so inexperienced when I started and now when I look back I see how incredible this journey has been. I have learned code, sure. But I would never have matched the development I have experienced as a person in any other career.

If you want to learn something, then teach it.

Here's to a bold jump in 2019.