Why You Shouldn’t Learn to Code With Codecademy
Codecademy is a web app designed to teach new developers the building blocks of coding. It’s wildly popular but does have a lot of things it can do better.
Since 2011 they’ve taught millions how to code for free, and have launched the careers of thousands of developers. At the same time, their product and teaching methods leave much to be desired.
So, what’s wrong with Codecademy? There are a couple of problems that should be talked about and learning the things it does not do well might lead to some better alternatives to learn code.
Codecademy Problem 1: It Doesn’t Teach the Mindset
It’s fantastic to know a language by heart, but being a programmer is more than simply being able to memorize syntax. It’s about having a particular mindset and learning how to break a problem down, solve it with algorithmic thinking, and then code the solution.
You need to be able to look at a problem on a grand scale and understand how each step you take affects the rest of the program. On top of that, you need to be able to tolerate a high level of frustration and persevere when you hit a mental brick wall .
You need to be able to research errors, Google for answers, and communicate your problem to other developers. Simply put, you need to be able to think like a coder.
Codecademy courses do not teach you to think like a coder.
Rather, it teaches you the basics of a number of programming languages without much instruction on how you’d apply them to real-life problems.
What are better ways to get that problem-solving experience?
I’m a big fan of Project Euler and Reddit’s Daily Programmer Subreddit, which feature programming puzzles to solve. I’m a big fan of the latter because you’re encouraged to share your code and receive feedback from other developers.
The Daily Programmer subreddit comes with daily puzzles for all skill levels, from absolute beginners to code experts.
Codecademy Problem 2: Blink and You’ll Miss It
One of my biggest frustrations with Codecademy’s approach to teaching is the speed that the courses move. You learn something, complete a challenge, and may never revisit that topic again. Blink, and you’ll miss it.
If you want to cement your progress, you’re going to have to do some deliberate practice outside of Codecademy. One of the best ways to do that is to simply write code. Many programmers swear by notetaking and reinforcement with flashcards.
Paper flashcards are cheap and effective. In fact, you can buy packs of 1,000 on Amazon to get started.
If you prefer digital, there’s also a number of apps you can use. I’m a huge fan of Anki because of how customizable it is. It has thousands of community-built flashcards and is extensible through its application programming interface (API).
For mobile users, there are also lots of flashcard applications for Android , and for the iPhone.
Codecademy Problem 3: Syntax Does Not Equal Programming
Codecademy will teach you the syntax of a programming language but for the most part, won’t tell you how to apply it. This is why you often see questions like this, posted on the LearnProgramming Subreddit.
That’s not all that tends to get glossed over. Codecademy doesn’t give you tips for writing cleaner code . It doesn’t teach you how to write code that’s self-documenting. It doesn’t teach you about package management, or how to use other people’s code in your own projects.
This is something you can overcome by finding an alternative to Codecademy. Look for instruction that teaches these important habits, and your coding will flourish.
Codecademy Problem 4: Does Not Explain Theory
The reason Codecademy is successful is that it takes coding and transforms it into addictive bite-sized pieces that are easy to accomplish. It feels great right now, but not so much over the long term. Learning to be a developer means learning the principles of software development, which are quite honestly very challenging. It’s the reason why good developers are so valuable.
In Codecademy’s curriculum, you don’t learn about the theory of programming. The stuff that Donald Knuth spent thousands of pages—and the better part of two decades—writing about in The Art of Computer Programming.
Codecademy shields you from the complicated part of programming. There’s no way around this, other than having the discipline to do your own research. If you don’t know what you should be looking at, a good way to learn is finding experienced developers that can mentor you.
If you prefer the structure that Codecademy provides but want some alternatives, there are some options.
Code School vs. Codecademy
Code School will teach you how to code just like Codecademy, but with some significant advantages. Code School (recently acquired by Pluralslight) offers a deeper selection of classes from software development to cybersecurity.
Classes are taught with video by coding professionals that explain the concepts in-depth. The curriculum spans from beginning to advanced level coding. Code School learning is separated into coding paths and each path could be upwards 20 hours just on one language.
Code School is not free, but the price you pay monthly will cover all of their material. It’s a serious investment with serious results.
FreeCodeCamp vs. Codecademy
As the name implies, FreeCodeCamp is free just like Codecademy. Just like Code School, you’ll get some pretty in-depth material to learn.
FreeCodeCamp is centered around getting you a job. They tout over 40,000 graduates getting jobs at high-profile companies like Microsoft and Google. They offer seven different certifications, each at around 300 hours.
Where you will see the real difference is the coding interview prep. FreeCodeCamp provides thousands of hours of challenges all centered around learning the logic behind the coding. Companies want to know how you solve problems not memorize a language, so this is a huge benefit.
Codecademy Isn’t That Bad
Now look, there’s a lot to like about Codecademy. This isn’t meant to discourage budding programmers, learning is always the goal. Codecademy has introduced thousands to the fundamentals of computer science. But there’s considerable room for improvement, too.