When I founded my first startup in 2008, I was a programming newbie. A degree in economics from Oberlin College hadn’t prepared me for a career writing production-ready code. Despite my best efforts at slapping together crude HTML and CSS Django templates, my ability to contribute to our codebase was limited at best. So I started slowly teaching myself to code with online tutorials and lessons. After many disheartening starts and stops, I realized why I was having problems sticking with it: code lessons and videos felt like school to me, and I had no interest in returning to the classroom.
CodeCombat is a for-profit, YCombinator-backed startup that sees the future of code education as beginning with instruction and ending with contributions to open source projects. When we designed the product, we knew we wanted to open source all of the code. We envision players learning to code using tutorials on the site and once they have reached a certain level of proficiency, diving into the codebase to work with real live production code with a world class developer network to help them learn and work on a project that’s meaningful for them.
Since we made the open source announcement, our repo has attracted more than 2000 stars, 400 forks, 200 watchers, and 25 contributors. CodeCombat remains in the top ten trending repos on GitHub.
From the announcement:
Closed source may be the choice made by virtually every startup and every game studio, but we believe this is a convention that needs rethinking. CodeCombat is already a community project, with hundreds of players volunteering to create levels, write documentation, help beginners, playtest, and even translate the game into seventeen languages so far. Now the programmers can join the party, too.
Our mission is to teach you to code. Until we have over nine thousand levels taking you all the way from beginner to Bellard, why not jump into a novice-friendly open source project to keep learning? We aren’t just dumping the code out there and calling it a day—we’ve worked hard to make it simple to contribute. You don’t need to know git, you don’t need to have anything installed, and you don’t even need to know how to code to help with some of the issues on our GitHub.
Our goal at the moment is to foster developer interest and continue building an engaged community of contributors around the project. Games provide a rich and interactive way for students and young coders to get involved with computer science, and we hope that CodeCombat eventually becomes an integral reason why millions of students got started on their coding adventures.
See the full list of Youth in Open Source Week articles.