7 reasons people quit learning to code (& how to avoid them)
Tags: learning, codenewbie, coding, beginners
Published: 2024-04-26 09:41:30

> I'm Fahim, a software developer turned tech founder. This article is part of my series: **The Developer’s Launchpad**. I'll share my top lessons, hacks, and best practices for learning how to code and launching a new career — things I wish I would've known earlier in my journey. If you're starting out your own coding journey, this series is for you.

So you decide to learn to code… and inevitably, you encounter an obstacle along the way.

It happens to the best of developers. I had a fair share myself. But for many aspiring coders, an obstacle can be so **discouraging and frustrating** that they quit pursuing their goal of becoming a coder. 

Learning to code is not easy: challenges are a normal part of the journey. In an ideal world, the only reason an aspiring coder would quit is because they realized coding isn't aligned with their interests. But that's not realistic. In fact, **many people quit learning due to obstacles that can indeed be overcome**. 

Today, I'll share some of the top reasons people quit learning to code — and some tips or perspectives for overcoming them. 

# Top 7 reasons people quit learning to code
## 1. Impatience  

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wza4iy8e9qrcb2iu5gon.png)
Many people quit learning to code because they get **impatient**. If you're not patient, you'll have a difficult time tolerating the inevitable moments when you [get stuck](https://www.educative.io/blog/things-i-wish-i-knew-before-learned-to-code#stuck?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096).

Learning to code is a **marathon, not a sprint**. It takes time, effort, and discipline. It's important to realize this and be realistic when you're in your learning process. 

If it's taking a while for you to master something, it's because it _should_ take time — it's not because your brain isn't wired a certain way. 

To help manage impatience, level your expectations and set **realistic goals and deadlines**. Break those goals into small steps, and celebrate any progress you make (no matter how small).
## 2. Fear of failure  
If you're a bit of a **perfectionist**, and you're starting your learning to code journey, it's a great time to work on developing a healthy relationship with making mistakes. 

The road to coding success is lined with mistakes — and there's no room for fear of failure along the way. While mistakes can be frustrating, they are really just learning opportunities. Both new and experienced coders can make trivial mistakes, but it doesn't reflect on their ability to be great developers.

In fact, I would argue that the opposite is true: **great developers make mistakes** all the time, in no small part due to the fact that they are challenging themselves, taking risks, and learning through experience.

To help you stay resilient and persistent in your learning journey, you'll want to develop a growth mindset, in which you embrace little failures as opportunities for growth. 

In my book, the **only real failure** is quitting learning to code just because of a mistake you made. 

> Check out my recent post where I go deeper into why [mastering programming requires failing](https://www.educative.io/blog/failure-learn-to-code?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096).

## 3. Imposter syndrome  
Imposter syndrome is more common than many realize — and it affects experienced and aspiring developers alike. 

[Imposter syndrome](https://www.educative.io/blog/common-coding-anxiety-beginners#imposter?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096) is characterized by a debilitating doubt of one's skills and abilities. This doubt is so severe that people often feel like an "imposter" or a "fake" (no matter how successful they are).

To overcome imposter syndrome, you'll need to make a point to track your accomplishments, and engage in positive self-talk. It can also help to connect with like-minded individuals and beginners (but you should also be careful not to compare yourself to your peers).

## 4. Lack of a structured learning plan 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eyqdcnyxkihgtboexlpg.png)

I've seen many enthusiastic learners run out of steam simply because a lack of structured learning left them feeling aimless, without a clear perception of the gradual progress they were in fact making. A structured learning plan can help us eliminate stress and feel more confident and in control of our coding goals.

This risk is particularly pertinent to **[self-taught coders](https://www.educative.io/blog/self-taught-coding?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096)**, who — unlike those in bootcamps or university programs — bear the added weight of guiding themselves through learning topics, resources, and activities. Until they find their preferred learning resources, self-taught coders may also find themselves spending significant time browsing resources and tutorials which may lead to wasted time and ([information overload](https://www.educative.io/blog/obstacles-aspiring-coders#overload?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096).

If you're a self-taught coder, seek out courses or platforms that offer a clear, step-by-step curriculum — or, create a structured curriculum plan for yourself. It's important that a learning plan builds upon each concept progressively. For example, you shouldn't dive into a programming language without a good basis in logical thinking and problem-solving. 

> Looking for online learning resources? Check out Educative’s Learn to Code courses and structured Skill Paths, created by PhDs and industry experts to teach you exactly what you need to know, in the right order. 
## 5. Coding anxiety  
There are many reasons why people may have an anxious reaction toward learning to code. It's not easy to deal with anxiety, and when you don't find a way around it, you may feel you have no other choice but to give up.

Coding anxiety is common among many coders. There are various different roots to coding anxieties, ranging from overwhelm about how much there is to learn to performance anxiety. Once you know what your particular anxieties are, you can take steps to address them and find tools to manage them — you weren’t the first person to have that anxiety, and you won’t be the last!

> Check out my recent blog post for an overview of [common coding anxieties](https://www.educative.io/blog/common-coding-anxiety-beginners?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096).

## 6. Misaligned learning methods  
We're lucky that we have so many methods for learning to code today. However, whether it's a professor, a bootcamp, or an online course, not every resource will help students equally.

Many students quit learning to code because they're fighting an uphill battle with learning resources that don't suit their learning styles and needs. An audiovisual learner will struggle to grasp concepts from a textbook, while a kinetic learner will not solidify concepts until they have the opportunity to get hands-on with them. Similarly, a given lecturer's teaching style may not suit every one of their students.

If you're experiencing a lull with your learning, don't give up. Check in with your **learning needs** and see how you can incorporate them into your coding journey. It's possible that you may need to explore other learning resources, or use a mix of resources to optimize your learning experience. 

> Keep in mind that getting hands-on experience with coding is going to be essential — without it, you won't internalize any concepts or get the chance to learn from your mistakes!

## 7. Burnout  
Sometimes we're so set on a goal that we're ready to fire all engines to achieve it. That passion is wonderful, but you can end up **overexerting** yourself  to the point of burnout (i.e., blowing out an engine). 

The risks of burnout are real. You can develop cynicism, anxiety, and negative associations toward something you once were excited about — and it can take quite some time to recover from it.

To avoid burnout, you'll need to pace yourself and learn to take breaks. Learning to code is a long and arduous climb — you will feel out of breath sometimes, and that's ok. But with clear goals and realistic milestones, you will reach the summit.

# Staying on course

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5efbzmo8d439szgb0ub.png)
If you've decided to learn to code and you're struggling, know that you're in good company. 

There are many skilled coders who have contemplated quitting at some point in their learning journey. The only defining qualities of those successful developers is that they persisted.  

Everyone faces a unique set of circumstances, and I surely haven't covered all the reasons that people quit learning to code today. Whatever your obstacles are, understanding them is the first step to finding strategies to overcome them. 

> As a reminder, you can find online courses, Skill Paths, and projects specifically for beginners on Educative. Our hands-on [Learn to Code resources](https://www.educative.io/learn-to-code?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096) help you learn everything you need to **go from your first line of code to your first job**. 

Good luck, and happy learning. 


## More from The Developer's Launchpad
* [6 common anxieties for new coders (& how to overcome them)](https://www.educative.io/blog/common-coding-anxiety-beginners?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096)
* [Which programming language should I learn first?](https://www.educative.io/blog/first-programming-language?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096)
* [5 things I wish I knew before I learned to code](https://www.educative.io/blog/things-i-wish-i-knew-before-learned-to-code?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096)