For Jacob Arriola, a business development manager for a Spanish media company in Los Angeles, learning to program wasn’t a necessity. But figuring it might help with his job, he started using an online code-tutorial service called Treehouse in January.
After three months with the paid service, he’s earned several dozen badges for completing programming quizzes and challenges, and watching coding-related video lessons. More importantly, he’s built his own website from scratch and made some simple changes to websites that his company runs. “I’m able to do it myself, which is pretty cool,” he says.
Arriola is one of a growing number of non-techies turning to Web-based sites to learn how to code, either for fun or in hopes of advancing their job prospects. And while the basic concept isn’t new, the execution is. The addition of video-game elements like badges and points is helping startups such as Treehouse take off.
Cofounder Zach Sims says the site was created to solve two problems: The frustrations (which he himself encountered) that can accompany learning to program, and the challenges of educating many people at once. Codecademy encourages users to help one another to resolve problems by visiting the site’s forum.
Codecademy rolled out this past August. Over 200,000 people used the site within its first three days. It had another growth spurt early this year with the introduction of Code Year, which sends its now 400,000 users a weekly e-mail outlining a new programming concept they can learn on the site.
Over a million people have signed up for Codecademy so far, and their efforts have started to bear fruit, such as an app a teacher built that allows students to digitally convert DNA into RNA.
Though the gaming elements built into Codecademy’s lessons are simple, Sims believes they are key to attracting users and keeping them motivated.
Orlando, Florida-based Treehouse plans to take the idea of gamification even further. Treehouse—which charges a monthly fee for online lessons in Web design, Web development, and development of apps for Apple’s iOS operating system—also offers badges that users earn by learning coding principles. But it also recently rolled out a free, simple game called Code/Racer that truly makes programming into a game, and it hopes to incorporate other gamelike elements into the learning process.
With Code/Racer, two players race to complete small website coding tasks in short bursts of time—creating a header on a webpage that says “Frogarri 5000” and adding an image of a cartoon-like race car, for example—while zippy music plays in the background. Code/Racer is more like a proof of concept than a full-fledged game right now, and it’s confusing if you’re not familiar with some basic HTML. But playing it does make learning fast-paced and fun, and you can see how it might make it easier to pick up a topic like programming.
When designing an embedded system choosing which tools to use often comes down to building a custom solution or buying off-the-shelf tools.