I’m a developer. I have been employed as one for 5 months. But I’ve been at this for almost 18 months. I’ve spent a lot of time coding.
Days in Sublime. Nights on StackOverflow. Weekends in terminal. It’s been countless hours. The great thing about being a developer is that you never stop learning. I know those countless hours already spent learning will not be matched by the countless more to come.
But one specific hour has stood out more than others. This hour put our profession in perspective. It put our craft in context. And it didn’t involve me creating a single Class, Module, or Controller. It was The Hour of Code.
The Hour of Code, organized by code.org, is an international movement. Its mission is that any student, in any country, can learn the basics of coding. And it’s achieving its mission.
I had the privilege of assisting in an Hour of Code at Wiesbrook Elementary School this afternoon (my wife is a 3rd grade teacher there). She had mentioned how excited the students get for this day, but I didn’t really believe her until I saw it with my own eyes.
For most students, it was their first experience coding. For some, they were excited to put their skills to use from last year. For all, without them even knowing, they were a part of an international movement. A movement that hopes to teach our next generation to not just be consumers of technology, but to be influencers of it.
So in class 3G, we started our Hour. 8 year olds, paired together, were determined to move their Minecraft character through a series of obstacles. And in this 60 minutes, I observed. I helped kids get unstuck. I showed them some of my tricks.
But most importantly, I learned. I learned again why I became a developer. I learned again why I love what we do.
Problem solving reveals our passion.
Equipped with just a few functions, the students had to move a character through a puzzle. When they got stuck, you’d hear the familiar “ugh, why isn’t this working?!” When they learned something knew, you’d see the invisible light bulb go off. And when they succeeded, you’d see the quiet fist pump to themselves, as if to say “damn right, I did it.”
I do the same things. Typically with a few more expletives and on a slightly different scale. But the emotion is the same. I spent almost 10 hours this week on a particularly tricky data model. I “ugh”ed a lot. I tried and learned new things. And you can bet your ass I fist pumped when it was all over. And it’s because coding, maybe more than anything else, gives us immediate feedback. We fail. We iterate. We succeed. Let’s not take for granted that we get to build cool shit and problem solve every day.
The hard part isn’t how, it’s what.
None of the students elected to type out the code in JS. They used predefined function blocks that they could drag and add to their character. This was their set of tools. Dragging and dropping blocks, that was easy. What blocks to drag, and in what order, that was hard.
Code is a tool. It is not a profession. Code written with no plan is useless. Code written with the wrong plan can be worse. Are there challenges when it comes to how we code? Absolutely. But it’s dwarfed by the challenge of determining what we should be coding.
We get to take small steps to do big things
Planning and executing the game was hard for the kids. Most of them would try to lay out all the moves in their head, give their character the exact set of instructions they needed, and then run the game. They were tackling the whole problem at once. That is really hard.
One thing we taught them was that in coding, the cost of running your program and it not working is zero. We learn so much when it doesn’t work. So we run it early and often. Our job on the margin is not to beat the whole game, but it’s to get us to the next step. Let’s not fix the whole test suite. Let’s get one test to pass, run it, and then move on to the next one.
When we look back on each small move forward, we realize they add up. We realize we have built something. We realize we have accomplished something great.
For me, it was just one hour of code, on one afternoon. For the kids, it was their start. Their first experience with coding. They learned a lot. They had fun. They challenged themselves.
The problem we may face is a big one. I am inspired by The Hour of Code’s determination to fix this. What if only authors knew how to write? What if only photographers knew how to take a picture? What if only chef’s knew how to cook?
What if only developers knew how to code? Think of the opportunities that would be missed. We must inspire our next generation to be able to manipulate technology, so that they can turn their dreams into their realities. It’s big. But today, for me, was one small move forward.