There are a lot of people looking to jump into programming1. At least, they’re posting quite often about it on Reddit. A site that gained a lot of traction in 2012 was Codecademy, an interactive, gamified, learn-how-to-program-from-scratch learning tool. People wonder: is Codecademy the best use of my time? Is it the best for introducing programming to adolescents? Will it help me learn a new skill?
Codecademy has been continually improved in the three years since I made it to a 98-day-straight coding streak. It has even added a premium subscription service. I applaud the concept and I think it’s a nifty tool for introducing programming to the masses, be it teenagers, those without access to traditional classrooms, or working professionals looking to expand their horizons2. However, the abundance of other resources now available online, including semester-long college courses and dedicated “create-as-you-code” tutorials on sites like Udemy serve as better alternatives for those looking to seriously develop marketable skills.
Codecademy sought to solve its most obvious shortcoming by adding project-based tutorials. It’s hard to retain casual users if you inundate them with long explanations, so, short tidbits prevailed, and that leads us back to the first problem. You can finish the Ruby on Rails tutorial and have barely no clue how to implement your next idea without using training wheels. The gamification aspect adds a further layer of confusion. I maintained a 90+ day streak and all I really have to show for it is a badge3.
In contrast, other online tutorials have much harder challenges, projects, and even detailed exams that ensure4 a solid understanding, explore the inner-machinations of various languages, and still support users moving along at their own pace. Though hypothetically learning Java and then C++ by way of practical tutorial is fine, eventually you’ll hit a wall if you don’t dive deeper and understand language-specific eccentricities as well as commonalities between languages such as data structures, algorithms, and design patterns.
In conclusion, Codecademy is a solid resource for basic introductory material, but holds little clout as a resource to help you scale the ladder of software engineering excellence. Instead, try Udemy, Treehouse, an old-fashioned textbook, or even a coding bootcamp.
I’m interested to hear your thoughts and experiences below!
1: There is a difference between Programming and Computer Science. For the purpose of this article I’ve treated them as the same thing.
2: To me, Codecademy was first-to-market, or at least the first to gain any attention.
3: And now, a blog post.
4: The only person holding you accountable is yourself, and the completion rate of many free online courses has shown to be dreadfully low.