Last year, as a freshman, my friends and I were in California Pizza Kitchen for a late lunch. We had just completed our first hackathon (DeveloperWeek, the biggest professional hackathon in the U.S.), an event where we worked on a project for 24 hours and competed for five finalist spots among hundreds of mostly professional developers. With minimal sleep the night before, we were exhausted, having just finished our pitch. We looked forward to returning to our beds at home.
While waiting for our pizzas, we got a call asking us to pitch as a top-five finalist. Confused, we told the caller that he had the wrong number and hung up. Minutes later, we received an email from DeveloperWeek asking us to return to the venue to pitch as a finalist.
We were shocked. How could we have beaten hundreds of experienced developers? Laughing in wonder, we canceled our orders and sprinted out of the restaurant.
I soon found myself on a dark stage surrounded by cameras and lights as we nervously set up our demo. I completed the pitch quickly, without being too aware of what was happening, and walked off the stage in a daze.
Our team comprised six freshmen who were brought together by a club we formed at Mountain View High School. I wanted to find people with similar interests, which I had fortunately experienced in CoderDojo, where I spent hours with others with similar passions.
Despite being very knowledgeable for high schoolers, when we arrived at the hackathon, we felt intimidated. We quickly learned that languages we were comfortable with were too clunky for the challenge. After deliberation, we realized that we needed to use new tools such as PubNub to tackle the project.
This experience led to an epiphany. I realized that a lot of coding curricula had gaping flaws; in a world of rapidly developing technology such as virtual reality, machine learning and blockchain, many concepts and languages programmers learn become archaic. A fixed curriculum and traditional teaching quickly become inadequate as technology evolves, and our current structure does not address the need for learning on the fly.
After discussing this with my club, I realized that they had a similar sentiment. We set out to create our own lesson plans that would focus on teaching coders to learn without the help of someone who knew every answer. Our solution was to create a single learning resource with necessary information, similar to what you would find on a website while trying to learn yourself, and create challenges that could be solved by synthesizing different parts of the guide.
I returned to CoderDojo, trying to give students a mini-hackathon experience where they try to solve challenging problems while identifying their own gaps in knowledge and filling them on the spot.
With the explosion of new technology and innovations, it’s impossible for humans to acquire all the necessary knowledge in advance. As such, it’s imperative for innovators not only to learn coding skills, but also the ability to acquire new concepts on the fly.
I hope my efforts with CoderDojo help my fellow tech enthusiasts learn this new skill to thrive in a world facing seemingly impossible challenges.
Erik Zhang is a sophomore at Mountain View High School.