Out in the Open: The Site That Teaches You to Code Well Enough to Get a Job

Wanna be a programmer? That shouldn’t be too hard. You can sign-up for an iterative online tutorial at a site like Codecademy or Treehouse. You can check yourself into a “coding bootcamp” for a face-to-face crash course in the ways of programming. Or you could do the old fashioned thing: buy a book or take […]
2246383366bd18fb6259b
Nat Welch/Flickr

Wanna be a programmer? That shouldn't be too hard. You can sign-up for an iterative online tutorial at a site like Codecademy or Treehouse. You can check yourself into a "coding bootcamp" for a face-to-face crash course in the ways of programming. Or you could do the old fashioned thing: buy a book or take a class at your local community college.

But if want to be a serious programmer, that's another matter. You'll need hundreds of hours of practice---and countless mistakes---to learn the trade. It's often more of an art than a skill---where the best way of doing something isn't the most obvious way. You can't really learn to craft code that's both clear and efficient without some serious trial and error, not to mention an awful lot of feedback on what you're doing right and what you're doing wrong.

That's where a site called Exercism.io is trying to help. Exercism is updated every day with programming exercises in a variety of different languages. First, you download these exercises using a special software client, and once you've completed one, you upload it back to the site, where other coders from around the world will give you feedback. Then you can take what you've learned and try the exercise again.

It's a simple idea. But it could help the legions of people out there trying to learn to code well enough to land a job in this fast-growing field. In recent years, we've seen the arrival of so many tools that help turn anyone into a programmer, and this is one step towards widespread "code literacy."

Katrina Owen.

Christian Flaaten

Software developer Katrina Owen created Exercism.io while she was teaching programming at Jumpstart Labs in Denver, Colorado. Every day, she provided "warm-up" problems for the students. The only problem was: the students rarely finished them. "If they got stuck, they wouldn't ask their mentor for anything," she says. "And towards the end of their term I was seeing them making very basic mistakes that these warm-ups should have taught them."

To solve the problem, she created a site last year that presents the practice problems and prevents students from being able to move on to the next ones without submitting a solution to the previous problem. The idea was to have students not only complete the exercises, but get feedback. Soon, students were working on the problems on their lunch breaks and on evening and weekends. They were obsessed with these little problems.

But it didn't stop there. Because Exercism.io was available on the open web, her students began telling their friends. Within a month, several hundred people were already using the site. And because the site is open source and hosted on the code collaboration service GitHub, anyone can submit new exercises to the site. Exercism.io now has over 6,000 users who have submitted code or comments, and hundreds of volunteers submit new exercises or translate existing ones into new programming languages.

Owen, who now works for the Santa Monica, California-based music collaboration startup called Splice says she has no plans to turn the site into a business. But she would like to raise money to pay people to improve it. For example, she admits that the site is a bit lack in the usability department. "It's hard to tell what it is just by looking at it," she says. "It's remarkable to me that people have figured out how to use it."