Teamwork! Casis students collaborate and learn how to create variables! #HelloWorld pic.twitter.com/gMB8q4WLLH — HelloWorldTechStudio (@HWTechStudio) October 18, 2017

My Path - Why Teachers Are Important

I have always wanted to be in tech, more specifically, I've always wanted to know how to code for a few reasons:

Creating something from lines on a computer amazes me to this day

I only need an internet connection and a laptop to do my job, therefore I have incredible flexibility in life

I'm a very left-brain type of person and this type of work maximizes that about me

Then I took my first computer science class in highschool....

It was horrible. The teacher cared more about stacking his competitive coding team so that he could sell more contest prep and curriculum.

The rest of us students were just there, without much guidance, learning the material from our peers instead. Because of the lack of actual teaching it was hard to gauge whether I was learning the material correctly or if I was scraping by. That uncertainty led to frustration, which led to resentment, and ultimately turned me away from coding all together.

The year went on, I continued to teach myself, and I passed the AP Exam

The success of passing wasn't enough to eclipse the frustrations, so it was onward to other things.

Fast forward 4 years....

I'm enrolled at The Univerity of Texas, halfway though undergrad, and find I myself coding again because I have to as a part of the curriculum (Please keep doing this, UT) This time the teaching was supportive, the content was much more engaging, and living in Austin, TX meant that there were opportunities left and right. The childhood thrill came rushing back.

And just like that, I couldn't stop. I took a few more compsci classes, took a semester off to make up time by interning as an application developer, and joined some friends in starting a startup

Hello World - After School Coding For Kids

I don't want anybody else wasting 4 years of their life because of a bad teacher, so I joined Hello World (Yes, this assumes that I'm a good teacher and so far I think I am 😉 )

Hello World is an after-school and summer program that teaches computer science to kids of all ages. Programs are taught by software engineers, AI architects, data scientists and educators.

Casis students work on their Code It Challenge of the day and learn about class attributes! #HelloWorld #Coding pic.twitter.com/79liYXxijw — HelloWorldTechStudio (@HWTechStudio) October 18, 2017

To my surprise, I was put in an elementary school classroom and it has been amazing.

What I've Learned

Don't Underestimate Kids

I had my doubts about how much the students could realistically understand conceptually but was surprised week on week on how much they could take in. This became apparent to me in moments where we didn't have enough bandwidth to handle every question in class. We tended to work in breakout groups in which the students were actively coding and we coached them through any issues that came up. Before we knew it, the handful of kids that are the most knowledgeable about the material were engaged in pair progamming or re-explaining the concepts to their peers. Under the guise of trying to help, they ended up reinforcing concepts that they had themselves just learned by teaching it to their classmates and in return the students that were being helped received a different perspective on the topics.

Teamwork Can Be Natural

Again, they loved to help each other. I'm sure that some of it to show off amongst one another but the end results are what you see in any software team. They bounced ideas off each other, pair programmed, looked at Stack Overflow (seriously!), teamed up and shared knowledge across teams. The soft skills that make or break teams are naturally present at this age and this was an outlet for them to improve on them

Teaching Makes You A Better Communicator

When your target audience is 7-9, you learn how to get to the point and thats a great skill to have in the workplace.

For example, not everybody needs to know what's happening in the background when you assign a value to a variable:

x = 5

Sometimes describing as simply as "A variable is a thing that stores a value" is good enough to get the point across and that's a mindset that engineers should have more often than not. Nobody cares how much you know if you can't communicate it.

Teaching is hard

2 hours of teaching always leaves me feeling more tired than a full day of working in the office.

You start to really care about the progress of each student, and take it as a personal goal to make sure they learn.

Notes to parents turn into ordeals from writing and editing because you want to perfectly convey how well their kids have done in class

Kids can be rowdy and its frustrating, but that same energy leads them to doing amazing work. Guiding that energy is hard.

Grading takes forever (and we have it easy)

Planning is hard (we also had it easy here, the core team at Hello World does AMAZING job)

Basically, all of these things snowball and its crazy to think that there are wonderful people in this world that do this all day everyday. I admire the drive and passion of full time teachers.

Get Involved With Teaching

Try teaching. You don't have to hold a slight grudge at a teacher from long ago like I do, just get out there and mentor some young minds. There are numerous code camps and after school programs across many cities in the US. It doesn't even have to be coding (although I'd be surprised that you read this far if you're not interested in that).

You get back way more than you put in.