Why Codecademy is overrated and missing its target audience

Written by Belle Beth Cooper on September 26, 2012

Let’s just make this quite clear to begin with: I believe Codecademy has great potential. I really want to see it succeed, because I can see there is an identified gap where Codecademy fits, and a lot of people can benefit from using the site.

However, after spending some time ‘learning’ (or trying to learn) JavaScript on Codecademy, I experienced some fundamental issues which I believe are holding it back. The problems lie in Codecademy’s set up in its current state.

For first time coders, it’s horrible.

Who is Codecademy for?

When you visit Codecademy’s homepage, one of the first things you’ll notice is a big heading that says Learn to code. This is followed by the sentence, “Codecademy is the easiest way to learn to code.”

I’m going to take these two clues to mean that Codecademy is aimed at beginners. As far as I can make out, the idea is to reach people who have little-to-no coding experience, but want to learn. I’m going to use this assumption as the basis for the rest of this article.

What are code novices like?

So what else do we know (or can we assume) about these newbies?

  • They are completely (or almost) new to the world of coding
  • They have some idea of what they can build with code (i.e. they’ve used apps and websites)
  • They don’t understand the basic principles of whichever coding language they are learning
  • Their point of reference for anything language-based is standard usage rules which apply to conversations and literature

This last point is a red flag for me. Let me explain with an analogy from The IT Crowd:

No doubt you’ve heard someone call Internet Explorer ‘the internet’ before. The concept of web browsers is completely foreign to some users, and yet because it’s second nature to many of us, we don’t realize there are people who just don’t get it.

Code can be like this. Take the concept of HTML tags for instance: it’s common sense to make sure that all of your tags are opened and closed. And for someone who knows HTML, it’s not hard to jump to the conclusion that in another coding language, anything that’s open must also be closed at some point. But imagine approaching code without an inkling of this concept. Why would you ever consider that the problem with your code is a tag left open if you’ve never encountered that concept before?

Why is it overrated?

Codecademy undoubtedly has a lot going for it, but these major problems are letting it down.

The foundations are missing

Many developers have heralded the concept of Codecademy itself. In theory, it sounds like exactly what we need. For developers, however, it’s almost impossible to forget what they already know. Take the browser example above: until someone says “That’s the button for the internet,” you probably won’t realize that it’s not obvious what a web browser is.

If you already know that all HTML tags have to be opened and closed, or that if you spell something wrong, the computer won’t be able to run your code, you can’t forget these things. Through your experience in programming you’ve picked up the fundamentals, but a beginner is missing these important ingredients.

This is perhaps my biggest concern: the basic principles of coding languages and how they work are missing from Codecademy’s lessons. Until you get a feel for how code behaves, you’re going to have trouble writing it – and even more trouble fixing it when you make a mistake.

Code errors are not helpful enough

The Codecademy console has a great feature to help you find mistakes. Next to each line of code, you’ll see a hazard icon if something’s wrong. This is really handy if your code won’t run but you don’t know why.

When you hover over the icon, you’ll get a short message about what the problem is. When it’s “Missing semicolon,” that’s easy enough to understand and fix. But when it says, “Expected an assignment or function call and instead saw an expression,” that’s not much help to a newbie. It’s better than nothing, which is what was offered when I first started using the site, but still not enough to be useful.

If you try to run your code and it doesn’t work, you will get an error message from the console as well, but it will be something like this: “It looks like you didn’t run ten. Try again.” Helpful, huh?

This is probably the point where you’re saying that to be a good programmer you need to be good at problem-solving, right? Unfortunately, we’ve hit on that a smidge too early. Remember, we’re dealing with beginners who have no understanding apart from what they’ve covered so far in the Codecademy lessons. And without a solid understanding of the language’s foundations, there are no reference points to work with when it comes to troubleshooting.

There are no standard reference points

Yes, I’m still harping on about the foundations of the language. Imagine you don’t understand for loops properly. Now, how far are you going to get with JavaScript without those?

We’ve already established the trouble with learning the foundations – this gets even more difficult once you get into the lessons where you need to implement them.

Since each lesson that you complete assumes that you understand what you’ve ‘learned,’ there’s no easy way to go back and check how to do something (although apparently this is a feature that’s coming). If you can remember which lesson explains it, you’ll find it eventually – after some digging around. It’s certainly not the ideal way to double-check what you’re doing, though.

Lesson quality is inconsistent

The lessons and courses included on Codecademy are written by various people – crowd input is what keeps the site going. The issue with this, however, is the difference in the quality between lessons.

In several lessons I noticed grammatical errors or ambiguity in explanations, lack of clear instructions about the requirement of lessons, lack of clear explanation of how and why each foundational part of the coding language would be used, and incorrect code being passed by the console.

This last point is one of the more frustrating aspects – to have your code passed so you can move on to the next lesson even though the console is producing an error message is frustrating for those who hope to learn coding skills that they can actually use.

Navigating the site is difficult and confusing

It’s not hard to find your way to a lesson of some kind within Codecademy, but following a linear progression can be quite difficult. Lessons have multiple entrance points, so you can end up in a section far beyond your current skill set by mistake. Of course, this leads to frustration when you’re asked to use parts of the language you haven’t been introduced to yet.

To make matters worse, the home page looks the same for everyone – even when you’re logged in. Apart from seeing your name and a small avatar at the top of the screen, you’re still greeted with a ‘get started’ button and an introductory lesson. You can bypass this intro lesson by clicking on the Learn button or your name, but each of these options takes you inside the site from a difference angle, adding to the confusion.

Providing a clear hub or menu for logged in users to navigate from and monitor their progress would make this much simpler.

It’s great to let people skip around and do just the parts they want to – especially if developers are using the service as a refresher course. But if Codecademy is really going after beginners who are new to programming, this is something that has to change.

The support solution isn’t working

My last major concern: the difficulty in fixing problems with your code. The team at Codecademy has implemented a Q&A forum in an attempt to help with coding issues. Sadly, this is not the solution we need. Unless you’re happy to simply paste your incorrect code into the forum and wait for someone to fix it for you, this is near useless. And unless that’s what you call learning, I’d say this ‘solution’ is really missing the point.

By having someone fix your code, you’re not learning to work it out for yourself.

Ah, but if you’ve been following along, you’ll remember that I mentioned troubleshooting being near impossible anyway. Without a strong understanding of the foundations of the language you’re learning, how can you possibly troubleshoot issues? What’s needed here is guidance towards identifying the errors in your code, but not a complete fix.

Unfortunately, a peer support forum doesn’t work this way. And while the emergence of an entire Subreddit dedicated to Codecademy points out the ineffectiveness of this Q&A forum, it doesn’t solve the problem, either.

In an attempt to use the resources available to get what I needed, I tried to glean some insight from the code that had already been corrected in the Q&A forum. Unfortunately, this confused me even more, as many users (who I suspect are actually coders who are brushing up or adding a new language to their repertoire) had used different coding methods than those explained in the lesson.

After giving up on this method of problem-solving, I tried grabbing a correctly coded answer from the forum and pasting it into the console to compare the result to my own error-riddled code. After no less than eight attempts to complete the lesson with corrected code, my browser had unfailingly crashed every time and I gave up completely (which also points to the general bugginess of the lessons – try googling “Codecademy is” and see how many times ‘buggy’ appears in the search results).

What needs to happen now?

The web needs Codecademy and other sites like it. Coding is an important skill for anyone who works on the web to have, and the easier (and more fun) it can be to learn, the better.

The team at Codecademy have identified a great way to introduce new users to coding languages by making it easy to get started, social and fun. Unfortunately they’ve hit on something we in the Attendly office like to call, “Great idea! Execution? Not so much.

White label event registration that puts you in control

We believe that everyone should have the opportunity to go their own way. To choose their own path. That's why we give you the freedom to re-brand Attendly as your own and set your own booking fee.

About the Author

Belle Beth Cooper

Belle has spent the past four years as a freelance writer and social media consultant. She has written for The Next Web, Desktop Magazine and Social Media Examiner. Belle now spends her days wielding a pencil as Attendly's Head of Content.

62 Comments

  1. September 26, 2012 at 5:50 pm

    I agree, you have to know something about computers to use Codecademy. I, however, was as far away from knowing how to write a line of code when I started Codecademy, and I’m passable at writing code now.

    I think you’re right on about a lot of this, but for everyone but LEGIT beginners who can’t email a single person who knows how to code it does a very good job.

    It’s got a long way to go (integrating with servers and actually implementing code from scratch would be the ultimate goal) but for me, just having the “what will actually pass” is enough for me to solve any problems I’ve had, and I’ve known many people who feel the same.

    • April 19, 2013 at 1:44 am

      Many of these problems are now either obsolete or in the process of being solved. The Glossaries are giving the textbook foundations to people, site navigation has become a lot easier and is improving by the day, and people on the Q & A have finally started giving help and advice instead of just giving people the correct code.

      On another note, being a programmer is all about learning how to solve problems on your own, as that is the reason we learn to code in the first place, so the persistence that many of us who started learning the hard way have developed is what makes us true coders, as we don’t give up when we hit a bump, we push through to find a solution. In programming, I have found, stubbornness is key. Sorry for the rant.

      • Belle Beth Cooper
        April 19, 2013 at 10:29 am

        This is really good news! I’m glad the team at Codecademy is working out ways to make the experience more beneficial for beginners. The glossaries are excellent, and I’m glad to hear that the forums are working better now.

  2. September 26, 2012 at 5:52 pm

    Support also works fabulously for me, I’ve gotten fantastic feedback on the forums.

  3. September 26, 2012 at 7:33 pm

    Novice programmers can try Code Avengers … this is quite good at bridging the gap between the complete novice and Codecademy. The lessons are very well structured, easy to understand and FUN! Code Avengers has interactive tutorials for JavaScript, HTML and CSS. Its worth taking 5 minutes to try http://codeavengers.com

  4. September 27, 2012 at 12:53 am

    I happen to be very strongly in agreement with you about a focus on foundations. We (C42 Engineering) launched RubyMonk (http://rubymonk.com) around the same time as Codecademy, but because we feel that a foundation is important to do anything with programming in the real world, that has been our focus. My concern has always been that many online programming courses teach the programming equivalent of Sudoku, and set the expectation that doing a Sudoku problem a day will make you a mathematician in a year. This is, of course, a fallacy – because while your mind becomes more nimble, your foundation remains weak.

    In fact, we’re not targeting absolute non-programmers because it’s hard to figure out how to create value for them as things stand. We decided, instead, to start by focussing on technical people that are involved with code – designers, tech managers, engineering students – and teach Ruby. More importantly, we’re very focussed on conveying how to *think* in Ruby, rather than just talk about syntax. This makes our courses harder for non-programmers, but massively increases value for those who have some passing familiarity with it.

    So we’re being very specific. And it seems to be working in our little niche of the programming market – we’re already linked to from the official Ruby website, for example.

    I think that the interaction patterns needed to teach programming online are still being discovered. Until they are, non-programmers will have a hard time of it. Melding the teaching workflows and the content to teach aspiring programmers how to build something useful is still some way off. But we’ll get there. :)

    • November 11, 2012 at 12:57 am

      So it can be safely stated that RubyMonk is not the place to start coding with Ruby, only the place to continue.
      After playing with it, it feels like being thrown into a country where people speak a language you don’t understand; sure, you can learn it that way, but it helps if you at least know the basics first. In the case of RubyMonk, it feels like there’s a disconnect between initial education and continued education. That’s more likely to repel rather than attract.

  5. September 27, 2012 at 4:40 am

    I don’t think we need other sites like Codeacademy. Some competition would be helpful, but I really think we should have a single good website with a big, involved community, rather than 100 small sites with small communities and few, half-assed lessons.

  6. October 8, 2012 at 11:38 pm

    Thanks for the article. CodeAcademy is a neat tool, but we think there is more to learning beginning programming. We are working on CodeHS, which is a site to teach basic programming with a focus on providing help from real people. We have experience teaching thousands of students, and know that debugging feedback and comments on programming style are crucial for beginners.

    We are trying to address the main concerns here (support, errors, navigation, foundations), and would love to have feedback from your readers.

    Thanks!

  7. November 20, 2012 at 5:53 pm

    This.

    I started JavaScript myself just a few days ago and I’m doing okay, I’m just moving into the last few advanced topics, but it is very frustrating at times.

    I learned programming way back in the eighties so I understand the concept of code and how it works, so that part I’m able to sort out on my own. I have to keep reminding myself that their error messages are meaningless and to go back and check my code for all kinds of errors though.

    The bigger problem for me is that so many of the lessons are poorly worded or have mistakes in them that it feels sometimes like I’m solving a word puzzle, not learning any code. Add to this the buggy sections–a bunch of the JavaScript lessons won’t pass you unless you take out all spaces–and it’s irritating.

    I’ve sent two emails already pointing out errors and suggesting that if the users have forum posts up weeks old talking about the mistakes or bugs in the site, then they aren’t utilizing that engaged user base very effectively.

    But, there’s really nothing else like this out there on the web, so I’m sticking with it and I’m seriously going to give the Ruby section a go too.

    Oh! And I just found a glossary page for each language today. I don’t think it’s linked anywhere but in the help pages, so really hard to find.

  8. November 24, 2012 at 12:25 pm

    Good writeup there Corina and yes you did bring up some little issues about codeacademy but on the overall I do not think the app/site is overrated. I have found it to be just the right code learning tool for for. I have tried a lot of options but they don’t come easy as codeacademy. One point I absolutely agree with is that of inconsistency in quality of the lessons.

  9. December 13, 2012 at 7:42 am

    I agreed with what your point out. And to me, that’re issues that anyone want to be programmer must be able to figure out themself. Problem solving skills is needed in any levels of programmers live. Not the ultimate usability is needed for them, when learning somethings, we tended to hack and find ways to make it work anyway. And anyone found Codecademy is too complicated for them should be realized they are more ‘consumer’ than ‘creator’ type. It the least complicated experience and straightforward to learn coding to me.

    For issues you’ve pointed above, students should be able to find other compliment resources in the internet as their first problem solving skills. To me it as easy like this :
    - Amazon it, find one of the best book and buy it. For example, I bought ”
    JavaScript: The Good Parts” as the beginning book.
    - Then I know Crockford, the author of this book. After checking his background, he seem to be an important person of Javascript world. So I think I should learn more about him and found his website: http://www.crockford.com/
    - There’re a lot good insights on his site and I pick a video series to watch along when I’m learning at codecademy : Crockford on Javascript – http://www.youtube.com/playlist?list=PL7664379246A246CB
    - Keep doing research while learning, keep remind myself that Codecademy is not the only ultimate learning resource and pick up some good suggestion about learning path on Javascript here : How to become Javascript Badass – http://www.clientcide.com/deep-thoughts/how-to-become-a-javascript-badass/
    - I keep doing more research to see what should be my goal for learning Javascript. And I figured out that I really to be able to understand JS,html5,CSS and soem SQL as the fundamental. Move on to learn basic frameworks and get comfortable build something with JQuery, Mootools. Then move on to learn Node.js and pick up framework like AngularJS, Meteor to the level that I can make some start up with the technology that quite cutting-edge (for now).

    That’s the overview of my learning, which there’ll be a lot of work ahead for sure. But seem like a good roadmap to me in a couple years to come. Of course, I’ll always pick up new things along the road, but this should be my main focus.

  10. January 3, 2013 at 1:58 am

    Your assumption is that a new coder is practically a new computer user. Generally this is not the case. You will normally have used more than “internet explorer” and will at least have an awareness of what code is used for. You state yourself that people know the apps on their phone use code. But then you also say they call “internet explorer” the internet. You can’t have it both ways. They are either totally unknowledgeable or the know enough to start on codecademy. If they fall into the first category they need a basic computer skills course not a course on programming.

    As far as the forums being helpful. Personally I have found them reasonable. You may have to dig a little to get the help you need but it’s always there. Point taken that some people give you too much code in their answer. Maybe some rules on the forum not to give finished code but merely point out obvious errors. This would have to be moderated.

    The hints could use more work at times. But as a whole they are generally good.

    All in all i have tried paid versions that are getting great reviews and yet they don’t come near to the quality of codecadmeny. So I for one think they are doing a fantastic job and hope like you do they keep improving and expanding the product.

  11. January 16, 2013 at 11:22 pm

    I guess I’m living on another planet. Both my 11 year old nephew in NZ and my 12 year old nephew in Philippines have successfully used codecademy. How any reasonably intelligent person can fail when using the site is beyond me.

  12. January 22, 2013 at 8:07 am

    I have to disagree based on experience:

    My little brother (now 11) had only used the computer to play games we installed for him,
    he had no concept of a ‘browser’ and the chrome button was ‘the internet’, consisting of a flashgame homepage.

    I put him on codecademy and with primary school math he was perfectly able to complete the entire JS course, HTML and CSS course within 2 weeks.

    The only gap in codecademy is this: now he has no clue what to do with his knowledge, what tools to use, how to put it online or what a server is.

    • October 21, 2013 at 8:44 am

      Your little brother must be a pretty smart cookie. My math skills are fine but I’m finding JS to be a tad difficult to grasp.

  13. February 28, 2013 at 5:00 am

    I just started learning code after taking a WordPress.org class. I find MOST of the tutorials online are way over my head. I tried a Lynda.com CSS and had to re-watch the first 15 minutes about 100 times. I was happy to find code academy but soon realized the foundations I needed were in this other tutorial. I think mostly everyone who teaches code, unless they are with you live as in my WordPress.org class underestimate what we newbees don’t know so hooray to your article. I spent 10 hours trying to figure out how to change the url on my WordPress site. The Codex is completely not understandible at all! After 10 hours, $75 spent on back-up buddy I understand about half of what the Codex article is saying. However, I did figure out what I DONT know and need to learn. Anyway, I feel like someone understands the newbee from reading your post.

    • Belle Beth Cooper
      February 28, 2013 at 9:04 am

      Hi Jacqueline,

      I’m glad you’re in the same boat! I agree that it’s easy to forget what a beginner doesn’t know. You might want to try a course at Udacity or Coursera for a different approach.

      Belle.

  14. March 4, 2013 at 3:55 pm

    I am learning Ruby on it and so far it has been awesome – although I do have html experience and a few weeks of a C class. I think it’s great.

    • Scott Handsaker
      March 5, 2013 at 8:14 am

      That is awesome! I am glad it works for you David. Honestly, the more people that learn to code, the better.

  15. March 8, 2013 at 4:56 pm

    Ah! FInally someone has the guts to say out loud what so many of us must probably think about codecademy. Don’t misunderstand me : just like Mrs Cooper, I had a quite struggly time through my Javascript first steps as a coding toddler. I am not completely ignoran in coding condecpts and IT concepts in general but sometimes, the things seemed indeed too hard, or stupidly too easy.

    My idea is that Codecademy is a site built, managed and developed by developers who are surely not teachers. Just like speaking a language fluently doesn’t make you a decent teacher of that language, being a talented or gifted developer doesn’t seem to make you a good coding teacher neither.

    However, I share the idea that things can only improve through time and in a few years, I bet Codecademy will become a strong reference for many people in the IT world. Because, right now, it is the only way I know of to learn how to code online; books can be good but they are expensive and more often tedious.

    • Belle Beth Cooper
      March 12, 2013 at 1:44 pm

      I agree – it definitely feels like it’s made by developers. It’s always hard to remember what you didn’t know when you were a beginner.

      But hopefully you’re right, and with enough feedback the user experience will improve over time.

  16. March 13, 2013 at 5:36 am

    No reference points? Are you kidding? What about all the lessons you can revisit to understand what you guessed wrong? As I see it, codecademy teaches its students through trial and error–that’s how I have been learning anyway, and it works great to me. The fact that you do not like this approach DOES NOT MEAN there are “fundamental issues” with it; there are, however, fundamental issues with your attitude to try to nail codecademy to what you think it should be, instead of doing some homework before whining. Uh?

    • Belle Beth Cooper
      March 13, 2013 at 10:29 am

      Hey Wesley,

      I’m glad to know it’s working for you. I’d be interested to know which lessons/courses you’ve completed and what you’ve learned so far. It seems like their approach is just right for you :)

  17. March 15, 2013 at 4:23 am

    I think there’s definitely room for improvement (as in every other website, platform, etc), but I also think it too extreme to say is has “fundamental issues”. I think that when you really want to learn how to code, you will invest time to actually understand how the code works. When I first started to learn how to code, I had some frustrating times, but that’s part of how you learn. You can’t be a developer and expect everything to be resolved for you. You have to get used to do a little digging by yourself. I know it may sound harsh, but not everyone has the skills (or the patience) to be a developer. Codecademy has helped me to get familiar to new languages, like Ruby. I understand if they approach doesn’t fit for other people needs, but for me is great. Overall, nice article. It’s always good to read other people’s opinion.

    • Belle Beth Cooper
      March 15, 2013 at 2:35 pm

      Hi Tannia,

      I’m glad you found that it helped you to learn Ruby. You do make a great point that the same approach won’t work for everyone.

  18. March 22, 2013 at 10:37 pm

    I didn’t come to codeacademy as a newbie as I have an HND in computer studies and have studied BASIC and Pascal plus a bit of SQL and C. I’m now on JS and find it hard to remember what I’ve already learned sometimes especially if I’ve had a few days away from it. It is a good idea to keep a streak going if possible but I’m often busy with other things and may miss several days. Sometimes when I get stuck I find that other people have approached things from different angles so I still find problems hard to solve and it can be frustrating as you end up going round in circles. This is from somebody who has programming experience so if you come to it from scratch you have my sympathy. I try and copy my last successful attempt at a problem into notepad to check back into later if I get stuck on next stage. At least then I can see what I did that worked and take it from there.

    • Belle Beth Cooper
      March 25, 2013 at 10:22 am

      It’s really good to get your perspective, Karen. I wasn’t sure how this method of learning would be for someone who already had programming knowledge. You’re probably well ahead of me in terms of knowing how to find the help/answers you need, but it’s interesting that you got stuck with some aspects as well.

  19. March 26, 2013 at 2:05 pm

    What an absolutely horrible article about such an amazing website. I came to the website with no programming knowledge and am breezing through. What did you do, spend 5 minutes and call it quits to write your trashy article?
    If you think it needs improving, then say that in the heading. The article could be easily named “Codecademy. It needs improving” or something else rather then the attention seeking use of the word “overrated”. Care to explain why you think it’s overrated? Something having problems doesn’t really equate to overrated now, does it? Care to offer another amazing, and may I add FREE, alternative?

    So let’s go through your article eh?

    Start from the top, you say people are novices. You say that people who don’t know what a browser is can’t go on this website. Well if they don’t know what a browser is…how can they go on any website? And which person who is just starting to use a computer decides to learn to code. Of course it scares these people, they don’t know how to even use the browser, let alone making their own website.

    Next, the foundations. So you don’t know that you have to open and close tags? Well the first lesson is HTML Basics. It explains how to start a HTML document, what opening tags are, what closing tags are, and if it goes wrong it prompts you with what you might have missed out. Sure, you might make a slip up and the error proves useless, but that’s a way to learn.

    Now, with errors. There’s only a finite number of areas they can cover within their errors. Remember, that’s all code too. If you follow the instructions (a LOT of the beginner ones are laid out step by step and the hint can be nearly identical to what you have to write), you can’t miss. So not sure how you could have any problem with them. Is it that hard to read what they say and mimic? Because the first exercises are pretty much that.

    Reference points? Well each exercise has access to a glossary. Some exercises even have links to old ones where you previously learnt it and all exercises are well named so you can go back easily.

    Lesson quality in inconsistent is the only valid point. Yes, it is crowd sourced. Yes, there can be issues. And, guess what? If you report this, the team make changes? Did you know that the JQuery course that you might have seen was not the one that used to be there? I contacted them about the difficulty of that particular course. It had been made by someone who hadn’t considered the beginner and I struggled. Within a week, I saw a new JQuery course in beta. And about a week or so later, the old one had been trashed. The team, as well as the new course maker, worked hard on that and made massive improvements.
    Hub? Monitor progress? Did you even navigate to your profile? And, for a long time now, Codecademy takes you to a hub if you go to the website and are still logged in. Click Me>View my Profile, and you’ll see all the progress you are making, badges, points, streak, courses, can resume straight from there. This has existed ever since I joined about a year back. How did this miss you? And if you say that you are too much of a n00b to know…how are you a blogger? And a way to not skip around? You start by answering the questions on the home page. You then go through the exercises in order, until you finish the language. Then, click on learn, new language, your choice. Sometimes, on the first exercise, it might state that you should know “blah”, if you don’t…try something else. Really that hard? Or, sign up to CodeYear?

    And seriously? Faulting the Q&A forum. We all frown upon people who simply give everyone the answer or just give someone the answer to fix their solution. If it’s a simple mistake, the replies are a simple “you missed blah”, but otherwise, most people on the forums teach the person what their mistake was. Did you even have a look in the forums? I’ve seen a person once give an answer to a solution, and people were telling him of for doing so. Moderators are quite likely to remove it as well. If you copied you code and submitted it on the forum, you would not get a reply of a piece of code that you can then copy and paste to your console and run it and move on. The forums have and will never work like that. People will post, explaining to you what you have done wrong, why it’s wrong, what you should have done and why. And you are left to read that and edit your code…I think that suffices as learning? Maybe give those forums another whirl?

    Coding as a whole is not meant for people who are new to computers…that will never change. Once you know basic computing skills; emailing, browsing, installing, downloading, word processing, etc. then maybe you could think about programming. Otherwise…you don’t even have a need for it. It’s like learning to run before you know how to walk, it doesn’t make any sense. You need a IT lesson, not a computing lesson. But when you have that done, and decide to learn to code, the first port of call is easily Codecademy.

    • Belle Beth Cooper
      March 26, 2013 at 3:09 pm

      Hi Vaneet,

      You clearly know Codecademy well. Thanks for pointing out some of the discrepancies in what I’ve written – there have clearly been some updates since this was published.

      Regarding the first lesson being HTML/web fundamentals, I see how you came to that conclusion, since it’s the first listed when you click on ‘Learn.’ However, if you begin on the home page with the lesson that greets you (or the Get Started button, which drops you into this lesson), you actually begin with Javascript.

      I’m really excited that you pointed out the glossaries! These were either not there before, or hidden away. It’s exactly the feature I wanted to solve the issue I raised.

      Regarding the forums, I’ve definitely seen lots of examples of people providing actual code and not helping to explain the concepts behind it. I did have another look though, and it seems like the forums have been tidied up a lot – both in terms of the layout and the quality of questions and answers. Another great improvement.

    • July 5, 2013 at 1:43 am

      I totally agrreee with vaneet mehta.. i think codeacademy is just superb .. if you think that its not good then please suggest a site that is better than it .. :D i seriosly dont think its overrated and you mentioned that we cant proceed unless we complete the coding is excellent for me cause it makes me learn even faster ..

  20. March 27, 2013 at 8:24 am

    Hi Belle,

    There have been updates since you have written this article, but all of the things I have written have been around since this article was written. In fact, they have been there since I started. So how you got any of the points you have written is beyond me. It’s not just discrepancies, but downright horrid article about a fantastic company who are working their asses off to help every member of their website. If ever you are stuck, you can easily post feedback to not only the creator of the course, but the creators of the website. And, like I mentioned earlier, unlike most places…it actually makes a huge impact. Like I mentioned with JQuery, before you came to the website (it might have still been around when you came, but was on it’s way out), JQuery was horrible. It got all fixed up thanks to feedback I, and likely others, provided to the creators of CodeCademy. They seeked out people to make a new JQuery course and gave the old one the boot.

    I didn’t come to any conclusion. I am fully aware the first lesson is JavaScript and that is the one it starts you off with on the homepage…that is how I started after all…
    I was merely picking on your point on open and close tags. You were asking how you would you know. This was you referencing HTML. I was saying the first lesson OF THE HTML COURSE, is all of these basics. These were here before you started. Surely these are the foundations?

    The glossaries have always been there, NEVER HIDDEN…right next to the Q&A link and remain there to this date. I can even send you pictures, or you can have a look for yourself. I have been on Codecademy for a long time and it’s always been in the same place.

    You are INCREDIBLY mistaken. No one provides the full length code to you as an answer to fix your problem WITHOUT explaining to you what you have done wrong. Saying ‘lots of examples’ is a lie and huge exaggeration. Like I said, I have seen FEW instances of this, and they get a good old telling of from other forum members. And moderators also pull these down. Because that isn’t the point of the Q&A. The Q&A are to teach and assist. Ask any member, they’ll tell you the same. You said you copied a code and it still didn’t work. I think you are mistaken here. I think you took a piece of code someone has posted to ASK FOR HELP and mistook it as an answer for everyone. People ALWAYS explain where you have gone wrong in the answers, and I can provide many a screenshot to show this.

    Overall, this article is horrible. This is not the way to encourage websites like Codecademy and you should be ashamed to have written such an article and then say “we need websites like codecademy”. They won’t stick around if you drive people away from it in such a manner. If you think that it is in dire need of fixing, submit feedback to the course creator of the issues and submit feedback to the codecademy creators to tell them what you think is wrong. An attention-seeking-header article used to pull in readers is NOT THE WAY to give CONSTRUCTIVE criticism. A writer would know better then this.

    • Belle Beth Cooper
      March 27, 2013 at 10:29 am

      Clearly neither of us is offering convincing evidence to back up our claims. I think we’re at a standstill.

      I’m really glad you think Codecademy is useful. I’m exciting that more people are learning to code, and if Codecademy is helping you with that, then it’s doing its job.

      Thanks for weighing in.

      • August 27, 2013 at 9:09 am

        I’m offering plenty of convincing evidence. Many people on the website have never coded before…that’s the point. You aren’t providing anything but your 5 minute usage. This is a cruel article that discourages companies from providing fantastic free learning experiences to the public.

      • December 13, 2013 at 4:49 pm

        Some background: I have been a moderator on a number of javascript forum sites since 2000. I’ve been programming some 20 years before that. I taught Remedial English & ESL 10 years before that.

        For the past few weeks I have been taking their courses and helping other ‘students’ with their coding problems. I have just had my account deleted from the ‘academy’ because I feel they are doing little more than waving their own flag. I base this on my experience and their stance on not supporting IE browsers (a fact that prevented me from creating any courses for them)

        Take their ‘new’ official javascript and web fundamental tracks (where I spent most of my time): None of the exercises use forms, input fields, divs, or anything remotely found in ‘real life’ coding. Instead, they stress “prompt()” and “console.log()” as a means of communicating with the user. As noted in the article above, the validation method for exercise checking is extremely limited and requires a specific answer. For example, if the exercise asks the student to add 10 to the variable “total” , the student would pass with “total = total + 10; ” But fail, with: “total += 10″. In other words, the student is penalized for knowing more than the exercise.

        Re student questions and the answers supplied: I have to agree with the author. Except for myself, and one or two volunteer moderators, no one provided any code or exercise explanation (other than “this is what you need to pass”) If you (Vaneet) really think people are learning at Codecademy, then you should take a look at the CodingForums and Sitepoint javascript forums,. where “rock, paper,scissor” and “text adventure” questions are becoming common as flies at a rodeo (that’s an exaggeration, but not for long).

        Yes, there are some good things about the ‘academy’ , such as a javascript game projects being developed about Zambian farm life, , but that’s the result of one or two individuals who are volunteering their time and expertise while the staff remains noticeably absent.

        Insofar as encouraging a free learning experience for the public: what do you call htmlgoodies, codingForums, phpNet, Sitepoint, quirksmode, etc., etc. ? Because you may have found the experience ‘fantastic’
        doesn’t mean everyone else has.

  21. April 5, 2013 at 12:02 am

    Surely computer illiterate people are not going to want to learn to code, I don’t think they are missing their target market at all, you just needed something to post about.

  22. April 9, 2013 at 8:15 am

    I disagree with this a bit, when I started using code academy I had absolutely no experience with code and I found it’s explanations and exercises very helpful. No code academy is not aimed at people who have no concept of how to use a computer but if it were it would really bog down it’s lessons. Nobody who lacks a basic grasp at operating a computer starts learning by studying programming. You used the example of closing html tags as a difficult concept. Having done a portion of the html lessons on Code Academy I want to say that that was the first thing the lesson stressed, and really how many times would they have to say it? This may be a new concept for most but I believe that anyone who has the ingenuity to study coding in there spare time has the ability to pick up basic concepts fairly quickly. They may make some mistakes along the way but there comes a point when a person has to be able to read the directions “Make sure you close your tags!” and act on it. The lesson makes that fact very clear several times. I also would like to mention that the lessons are often very repetitive and most concepts are spelled out not once but multiple times. *cough* Python *cough* I haven’t come across any other resource that is as slow and thorough on the basics as Codecademy. I will concede to you the point about the error messages though. They could be better.

    • April 9, 2013 at 8:25 am

      Ah, I read some of the other comments after submitting mine and I’m sorry to see the heavy backlash against your article. I can see that you put a lot of thought into your analysis of the site and you do hit on good points and use good examples. Personally if I were a part of the codecademy team I would be grateful for the synopsis. Thank you for writing this post :)

      • Belle Beth Cooper
        April 9, 2013 at 8:37 am

        Thanks for commenting – you’re more than welcome to disagree! It’s clearly a contentious issue.

        I see what you’re saying about HTML tags being taught early on. You might have noticed in another comment that I explained how if you follow the prompts on the homepage, you’re dropped directly into Javascript lessons, thus bypassing the HTML lessons entirely. Without hunting them down by looking at all of the lessons available, you could easily miss them – at least until you get down with the Javascript track.

        If you’re finding Codecademy useful, however, I’m really glad.

        • April 9, 2013 at 1:56 pm

          I ave read the article and read some comments and I would really like to learn to code (well) but you seem to give no alternative. If codecademy isn’t great is there some other way to learn. I would really like to learn to code and wonder what would be the best way to go.

          • Belle Beth Cooper
            April 9, 2013 at 2:24 pm

            There are lots of alternatives that have their own benefits and drawbacks. I haven’t found anything that I think is perfect for beginners yet, but you could start here if you want to try some other sites: http://www.code.org/learn/codehs

        • May 16, 2013 at 11:43 pm

          I’m sorry but I would disregard the comments on this article that say it is not for beginners. I’m 19 and have no experience in coding whatsoever. I think in school we may have done a couple of lessons on HTML but I cannot remember a thing from it. I only recently started using Codecademy based on a recommendation from a friend and I cannot think of a way it could be any better yet. I am still very much on the basics but I feel my knowledge is being well built up ready for the more advanced lessons.

          The only discrepancy I would have is that occasionally the code is not accepted even though it is clearly correct and after finding a solution on the forums you actually have to make the code incorrect for the program accept it. Annoying yes, but as long as you realise what the code should have been you will be fine.

          I would very much recommend codecademy. If you don’t know simple things then don’t learn to code. If you don’t know how to use your initiative to work something out then don’t learn how to code. Coding with no computer experience would be like asking a nurse to carry out major heart surgery.

          • Belle Beth Cooper
            May 17, 2013 at 2:16 am

            Glad you’re finding it useful, Sam. Clearly there are some people who think it’s perfect and other who agree with me. It’s a good thing there are lots of alternatives popping up so everyone can find something that suits them.

  23. May 24, 2013 at 6:07 am

    I don’t know what Codecademy was like back when this was written, but I think this is a rather harsh critique to an extremely helpful site. I do agree with a lot of what you said, e.g. different author’s offer different quality lessons, navigation isn’t the best, etc. The system isn’t perfect, it never will be, but the people there are doing a very good job in teaching many people to code. I myself have found the site to be a very helpful and fun way to learn coding and I’ve never come across anything else like it. Pointing out Codeacademy’s faults seems unfair when, IMO, what’s right with it FAR outweighs what’s wrong.

    Good article, just a bit critical to be constructive.

    • Belle Beth Cooper
      May 24, 2013 at 8:23 pm

      You’re right in thinking (from what I’ve heard) that Codecademy has come a long way since I wrote this. Some of the particular things I mentioned have been improved according to other commenters, which is great.

      I’m glad it’s working out for you. Even better, there are a bunch of similar sites around now, so there are lots of options for people who want to learn to code.

  24. June 12, 2013 at 2:54 am

    I think you’re just being too kind.

    In my humble opinion, after having gone through the whole site in two days (I hadn’t ever touched Ruby, and my Python experience was a dozen scripts long), I can assure you that those tutorials were not written by highly skilled programmers.

    The tutorials on HTML, CSS and JavaScript are extremely shallow (considering how shallow the topics are to begin with, that’s just scary), with the HTML one scoring extremely low with bad design techniques all around.

    The one on Python is full of bad practice, and really only covers very basic stuff, with total disregard for major topics such as user input handling (true for every game tutorial on Cc imo) and overall design.

    As every resource by noskill for noobs, there is a very heavy OO bias, which imo is yet another bad thing, but whatever.

    Lastly, those last two days were fun, so I believe Cc has a chance to improve, and I learned a *lot* about Ruby and Python and even got reminded of a few things on the js/html side (as a PHP expert, I must say the PHP tutorial was shallowest of all in fact).

    • Belle Beth Cooper
      June 12, 2013 at 12:31 pm

      Interesting that you say this. Codecademy was suggested to me most often by professional developers who hadn’t tried it themselves and simply assumed it was useful for beginners. I love that you’ve tried it and can see the issues for beginners.

  25. June 12, 2013 at 4:52 am

    scratch that, here’s my full review (I did use the whole website):
    http://ludovicurbain.blogspot.be/2013/06/codecademy-review.html

  26. June 12, 2013 at 5:27 am

    I don’t agree at all, also this kind of tutorials are worth nothing if you don’t read a lot about what you wanna learn.
    The student must use a reference option as it starts its way through code academy. A good example is to combine the w3c school website with codecademy website. You can’t rely on a unique source. Also you can combine w3c school, codecademy and audacity course cs101 as your learning tools. That’s a better way. It’s silly to expect a lot from one place only. That’s my recommendation for any beginner, also searching for a real developer in person to clarify things will speed up your progress a lot.

    • Belle Beth Cooper
      June 12, 2013 at 12:30 pm

      Those are really good suggestions. Perhaps it should be more obvious to complete beginners that Codecademy is not enough to learn coding completely without additional tools.

  27. June 12, 2013 at 11:43 am

    I have to say i took the javascript course for a while, only to learn i have learned nothing. I look at other javascript codes and i see stuff similar to html and i think WTH thats more Jquery than the… WHAAT!! i don’t get it i just want to learn this why do i have to struggle so much to find a place to learn.

    • Belle Beth Cooper
      June 12, 2013 at 12:29 pm

      I get the frustration you’re feeling! Maybe take a look at Coursera or code.org and try a different approach.

  28. June 14, 2013 at 4:32 pm

    I’m going to sound mean here….spend the time you did writing this article to build something better! I’m not disagreeing with you as much as I’m wondering what could have been with the same amount of thinking put into something more productive

    • Belle Beth Cooper
      June 17, 2013 at 9:08 am

      Good point! Luckily there are lots of people working on this already—e.g. Code School, Learnstreet, Treehouse, Code.org, Coursera.

  29. July 5, 2013 at 11:05 am

    I think code academy has improved a lot. I have no experience coding and tried this when it first came out. Back then I failed. I waited a few years and tried it again and to my surprise I caught on easily! I think you should give code academy another chance.

  30. July 9, 2013 at 8:26 am

    I find it funny how I found this article by trying to find out how to do one of the JavaScript lessons.
    Many of the things you listed (unhelpful error messages, lesson quality issues) are still present. I got to one lesson that introduced the push() function with a one sentence explanation. Took a few hours to figure out what to do. I just ended up copying from another lesson just to move on.

  31. August 14, 2013 at 1:01 am

    I think there’re some definite improvements they could make, but it seems like you’re setting the bar way too low.

    You don’t start teaching a person javascript if they don’t understand you need to open and close html tags, and what browsers are.

  32. October 21, 2013 at 8:35 am

    I can relate to what you’re saying how one may be naive to another’s lack of knowledge in that which comes to them second nature, totally.

    I feel you, and I am not qualified to argue with you on the merit of Codecademy’s methods.

    However, when I wanted to spice up my eBay listings, a Google search led me to Codecademy.

    For me, it was perfect
    .
    Granted, I was only interested in basic html and css. I didn’t fool with any other tutorials.

    That said, I soaked up the lessons like a sponge and had no trouble following along.

    The material really resonated, too. I haven’t forgotten what I learned and have put it to use in other places.

    I’m not going to spam your comments with a link, but I’m confident you’d be impressed knowing that I was newbie as newbie could be when I found Codecademy.

    Great read, though. I got a lot out of this article. Thanks. Cheers!

  33. October 25, 2013 at 2:34 pm

    Most of our apprentices that come to us to learn to code have already tried CodeAcademy. Instant, two way feedback is hands down the best way to learn a new skill. And having a “master” available for the apprentices is key to learning quickly.

  34. November 4, 2013 at 6:21 am

    I discovered Codecademy a short while ago. I wish I could say you were wrong in your opinions but you are not. I’ve used Dreamweaver in the past and designed HTML emails. I progressed to learning CSS via I book that I had bought and successfully worked with it. However, I am primarily a print graphic designer and do not spend enough time doing web work for the information to effectively take route in my addled brain. This was the reason for my interest in Codecademy… I wanted to immerse myself in the digital world and consequently feel more at home.

    I completed the HTML and CSS training and sailed through it… but then there were no new principles being put in front of me. I then moved over to Javascript and all hell has broken loose. I’ve hit every single problem that you describe and feel very much that my investment in time is not worth the minimal learning curve I’m going through. At this point I’m considering going to another site in order to complete a Javascript course so that I will know enough to come back and complete this one… so the beginners course requires a beginners course.

    Phew, got that off my chest.

  35. November 15, 2013 at 1:16 pm

    I first came to CodeCademy about a year ago, in March 2012, through a video trending on Youtube about Code.org. Albeit (is that how you spell albeit?) (i don’t even think i’m using that correctly but whatever, Although) Ii was not a complete noob to computers, i knew how to install, download, upload and some networking things – the basic fundamentals of computers, and i felt i wanted to do more with this skill. I came from playing Modded Minecraft, which was Minecraft with mods added by developers, or coders that changed the way the game works. Surely most of us have heard and or played Minecraft this way… But the point here is that although i knew what a browser was and felt more than a beginner in computers, I was 0% in anything to do with Code. other than what it was and how it worked (fundamentals). When i got there, i knew Modders for minecraft used Java. Unknowingly at the time i chose to do Javascript before HTML (which i had 0% interest in) thinking it was like Java. Later i discovered no, this was NOT Java, but i thought this would be a great way to bridge the gap between me and basic Code logic. Many of the first lessons were easy. It wasn’t hard until i got to things like Rock Paper Scissors and such, but it wasn’t impossible. since then i have done i think 67% of Javascript (I have no idea how you guys manage to learn the whole thing in 2 DAYS.) Although i do have schoolwork to do, and i had months grounded from the computer so yes, it was off and on but i always had something to go back to. I never really had any problems seeking help, there are many sources off youtube where you see someone explain it, and can figure your problem out from their code, but also can learn your mistake and how to move on. Going back to your article, i can see you did a great job in constructive thinking, and most of your points were valid. In regards to Vaneet Mehta and your conversation with him, He had an experience much to that as mine. I cannot relate to your experience as much since its so obviously different, I not only think that you should give it an updated reply, make a new and better post with a title that is not so much an attention seeker, but you should also take a look at the bigger picture. Your article as of now does not make any points about how this affects the community, and weighing those Pros and Cons (as i have seen, maybe i’m missing something, sorry its been an hour and a half reading the article and all the comments) or the pros and cons against other sites, which in my mind are (frankly) stupid. I mean, Alot of teenagers (including myself) see getting this knowledge from other sources, i.e. books, developer’s notes, dev creations, i don’t know what else.. mainly books, to be a huge hassle. This is what people look for in Codecademy, the learning and the code without the hassle of paying anything. There are things like youtube, and google that let you learn your mistake without the hassle of paying anything. None of the things in your article take account for the fact that most of the so called “Beginners” who go through codecademy have those other sources, and use them regularly. I mean, is this just me? am i the only one who found multiple web sources for specific exercises? Anyways. that is my overall opinion of your article, thank you for posting, it was a great read, obvious mistakes ofc. But a good read.

  36. December 15, 2013 at 10:01 am

    I completely agree. There are a lot of good things at code academy. But I found myself on the forum today for help with javascript in what should be some basic concepts that were just missing from the lessons. I am smart enough and experienced enough to know when I have a problem in front of me but lack the prerequisite knowledge to solve it which is what teachers are suppose to provide you with. I could spend a lot of time reinventing the wheel and researching for just a few lines of code, or I could find a better source for learning fundamentals.

    This guy calls it magic spells.
    http://worstideasever.wordpress.com/2012/04/15/ok-codecademy-sucks/

Leave a Comment

Click on a tab to select how you'd like to leave your comment

Stay Connected
Follow us on Facebook
Follow us on Twitter
Follow us on Google Plus
Follow us on LinkedIn