Learning to code can be challenging. Not only do you have to learn syntax, but there are so many new concepts to learn as well, and many of them don’t relate to anything else you’ve studied in the past.
Struggling to learn code is completely normal and expected. Most beginners go through at least one rough patch (and often several) while they’re learning to code, but the good news is that a lot of these rough patches involve similar obstacles. Even professional developers with years of experience run into some of these problems.
In this article, we look at 10 of the top obstacles beginners face when they’re learning how to code, and how to overcome them
1. You have trouble finding the time to code
For many new developers, it can be challenging to find the time you need to learn how to code. The key to overcoming this obstacle is to have a goal in mind. Envision where you’ll be when you’ve mastered a new programming language and all the new opportunities you’ll have with your new skills.
If that seems too far away, you could focus on building a coding passion project. While you might’ve already completed a few projects in your coursework, finding a project you’re excited about will help keep you motivated and engaged in your learning.
It’s also worth keeping in mind that finding the time to learn any new skill ultimately comes down to discipline. Try looking at your schedule, especially when you have nothing to do or when you’re switching from one task to another. Most people can find time if they look.
Once you find a good time to study, stick to it. Learning only when you can find the time never works. Make the time.
2. You want to learn too fast
Being motivated to learn how to code will help you get through the rough spots, but you can also take it too far. When you’re learning to code, you have to crawl before you can walk. Remember — you’ll get there, but you need to start with the basics and build your skills. Many of the courses in our course catalog are designed for beginners and will make sure you start your coding education with a firm foundation.
Roy, an active member in the Codecademy forums, has noticed this obstacle with many new programmers:
“Too many learners bite off more than they can chew and want to soar before they have wings, so they fall flat on their face. There is so much evidence of this it can be found on any given day, learners taking on concepts they have neither an understanding of nor the necessary background preparation. Why they insist on jumping in the deep end rather than treading water or learning the basic strokes is a mystery but speaks of their ambition. They struggle with it rather than cool their jets and hammer out the rudiments.”
3. You get frustrated
If you ask a seasoned developer, we’re willing to bet they’ll tell you that getting frustrated with coding is simply part of the process, and it’s something you have to get used to.
Just remember that you’re a beginner. Everyone was “bad” at coding in the beginning. You can always ask team members, the coding community, or the QA department for help. (See #8.)
Also, know that every company building applications today usually has a QA department working full-time. So bugs are expected, even in code written by professional developers.
4. Imposter syndrome grabs ahold of you
When coding becomes a struggle, you might think you aren’t cut out for a career as a developer. This lack of confidence is common, especially when you’re just starting out. In fact, it even has a name — imposter syndrome. But, don’t give up! If you fail, that’s okay. You may even find that you learn more from your mistakes.
Nathan, a Codecademy forum member, suggests remembering these three things:
"Failure is okay."
"Brilliance in the basics is a key to success in anything."
"It also means that doing the little things right often leads to doing big things right."
5. You use Google to help you code a lot
If you’re someone who turns to Google for help when you’re stuck, you might think this means you’ll never cut it as a developer. Wrong! You’ve just stumbled upon the #1 tool in the professional developer’s toolbox.
Even coding tests in many technical interviews will allow you to search with Google. The syntax, keywords, and methods of programming languages are hard to remember, but as long as you know where to look for the answer, you’re on the right path.
Malachi Constant, another member of our forums, agrees with this:
“Wholeheartedly agree though, it can be frustrating sometimes too buuut a large part of coding is figuring out the problem and a whole lot of googling/stack overflow…”
6. You aren’t motivated to learn
A lack of motivation makes it especially hard to learn to code. While we all have different things that get us motivated, one thing that might help you is to surround yourself with people who are passionate about coding.
Try socializing with other developers who are building something interesting, and pick up some of their excitement to learn. Find a time slot every day to code and put it on your calendar. As you build your skills daily, you’ll be able to do more things with code and see the possibilities, which will fuel your motivation.
7. You have trouble remembering what you learn
Learning to code is slightly different than learning other topics that require a lot of memorization. With programming, the best way to learn and retain your new skills is by writing code.
Programming is a very abstract subject. You’re turning text into actions and graphics on the computer, representing something in the physical world. There are at least two layers of abstractions here, and getting your hands dirty with code will help everything “click.” Try some coding challenges and complete some coding projects to practice.
In our forums, toastedpitabread suggests this:
“Take notes, but they don’t have to be on paper. Good note taking is essential to getting the most out of your study. Sometimes it’s good to take notes while studying, sometimes it’s good after. I find that audio memos help me tremendously, and for certain things, even video notes help me also. “Talking” a problem out while drawing it on paper is another good thing to try if you haven’t.”
We also have a complete guide to remembering everything when you’re learning to code.
8. You don’t know who to ask for help
We’ve already told you one of the secrets of professional programmers: Google is their best friend. But, many of them also turn to Stack Overflow.
Stack Overflow is a great resource for developers. Every dev has issues once in a while, and the Stack Overflow coding community is happy to help you find the answer. All you have to do is ask.
While we’re on the topic of asking, check out our own coding forum, where you can find help from other coders who are on the same path as you.
Roy, who we heard from earlier, puts it this way:
“Your community is here for that exact reason. Mind, because there is a huge diversity of expression, we might have to grow a thick skin and learn tolerance and empathy. It also means we have to be willing to admit confusion. Nobody is judging our code on anything but its own merit. That never reflects on the writer.”
9. You don’t know what technology to start with
It can be difficult to decide which programming language to learn and which one matches your strengths and interests. It can also be challenging to figure out exactly what you’ll be able to do with your new skills. And all this confusion can, understandably, lead to indecision.
While there are a number of programming languages that we recommend learning first, you can also take our sorting quiz, which will recommend a language that’s right for you and your approach to problem-solving.
10. You don’t know what you should be learning
If you’re not sure what you should be learning, one trick is to narrow down your interests. Are you more interested in web development or mobile development? Do you want to create video games or get into machine learning?
Once you’ve narrowed this down, you can start researching specific job titles and looking at the skills you’ll need for those roles. You can also look into our Career Paths, which include courses that teach the skills you’ll need to successfully start out on your new journey. Here are a few of the Career Paths we offer:
- If you’re interested in building websites and web applications, check out our Full-Stack Engineer Career Path to learn both front-end and back-end development.
- If you’d rather create the UI for web applications, check out our Front-End Engineer Career Path.
- If creating web services for web applications is of more interest to you, check out our Back-End Engineer Career Path.
- If working with machine learning and artificial intelligence sounds like something you want to do, check out our Data Scientist Career Path.
- If you’d rather use data for analysis to gather insights, then our Data Analyst Career path is for you.
Codecademy can help those struggling to learn code
Running into obstacles as you code doesn’t just happen to beginners. All programmers — even those who’ve been coding for years — struggle from time to time. It’s completely normal and expected, and the key to overcoming those struggles is to stick with it. You’ll get there with patience and dedication.
Still, there’s a difference between learning on your own and being guided along the right course while you learn. Here at Codecademy, many of our coding courses are designed specifically for beginners. Try one of our courses, and if you need support along the way, you can find peers who have made it through the struggles you’re going through and are willing to help out in our forums.