9 Reasons Why Most Fail Learning Python and How to Avoid Them

What will we cover?

In this tutorial we will look at some of the common reasons why most fail a learning Python, but more interestingly, how to avoid to fall in that category.

The good news is, that everyone can learn Python. I have been working as a developer for 15 years and seen people getting from no knowledge or programming to mastering it at a decent level. This includes people of all ages. Simply said, there is no reason why you shouldn’t be able to learn it too.

That said, it will be a challenging ride and nobody is just born naturally as a programmer. But it depends on many factors how big a challenge it will be. With proper forces and understanding of what you will face, you can increase your chances to 100% of mastering Python and get paid a great salary as well as getting many opportunities you do not get in other industries.

Let’s look at the 9 reasons. Actually, reason 9 is a big one.

#1 A poor learning approach

This is kind of funny. We all learn in different ways, but I have noticed that many have an idea that learning to program (Python in our case) is like you remember school. You go to class, learn the skill, and then you master it.

Actually, nobody learns like that. If you don’t use it. There is no way you will learn it.

Another problem with this naive idea, is, that it takes time to process the input. And actually, your brain does an amazing job while you are not consciously thinking about it.

Let me ask you a question. Did you ever sit with problem and try really hard to figure it out. It might be something like remember a name of one of your acquaintances. You think really hard about it, but you fail. You start talking about something else, but then suddenly, while you are focused on something else, the name pops up.

“Jack” you yell out of surprise, while the people around you do not understand what this is about. Well, the name was Jack, the acquaintance you forgot the name of.

Learning Python is the same. You need to let your brain process the new stuff, while you don’t think of it.

Take this free Python course in 17 lessons.

The course is in 17 lessons. Each lesson comes with some theory, and a project, along with a solution to the project.

Said differently:

  • It introduces new concepts for you to understand.
  • Then you are introduced to a small project using the new concepts.
  • Finally, a solution is provided for you to see how it can be solved.

Well, how would I suggest we apply our knowledge to that.

  • Day 1: See lesson with new concepts – take notes.
  • Day 2: Recap lesson (either from notes or video) – then see introduction to project. Try to solve the project and stop when you get stuck.
  • Day 3: Possibly recap lesson again, then continue with project. If you are really stuck – see solution.

This gives your subconscious time to learn and is not overloaded with new concepts.

The full 17 lessons will be 51 days of programming, but done in a way that will leave time for you to really learn it.

#2 Start something different when it gets tough

We used to learn that knowledge is power. When I was a kid the only place you could get knowledge was in school, documentaries in the telly, library books, some magazines, and so forth.

Most of them (all except libraries) were chosen by someone else. If I wanted to learn programming, there was only the library to go to. Because, programming was not in big demand. So there was no programming in school, no documentaries where you could learn programming, no magazines (at least available in my local stores), so there was the library.

Unfortunately, there we not many books on programming and most used programming languages I didn’t have access to.

Today, we live in the Information Age. But that actually has a price.

The information is competing to get our attention.

What do I mean?

Did you ever wonder why you keep scrolling the news feed on your favorite news media? You want to find the most interesting news and you do not want to miss the best ones and be the only one not knowing. You want to be the first one to share it your friends and close ones.

Learning is the same.

If you want to learn Python one week because you want that 6-figure contract they talk about, then when it becomes a big tough, well, you focus on something different, which looks more appealing than suffering the feeling of not being smart enough to learn Python. Why waste energy on that when you can learn something better giving you the live you have been wanting.

How can we use that to our understanding?

Know that the mind will try to convince you to start something else, something that looks easier, when it becomes challenging with learning Python.

There will be times when it doesn’t seem easy to learn Python. I have been sitting with bugs for days, felt hopeless, stupid, not smart enough. But when you solve it, I also know the feeling I will get.

Prepare yourself not to quit and start something else, when it gets tough.

#3 Lack of Focus

This is kind of related to the previous one. With all the possibilities comes difficult choices.

Most learners want to learn everything about everything.

As a senior, you know that is not possible. Most senior developers aer specialists and really good at what they do. That is why they get paid high salaries, not because they are average at everything.

When it comes to learning, the more clear you are on what you want to learn, the easier it is.

Python is a great programming language, which is great at many aspects of programming. But this also opens options to choose from, and as a beginner, you think you need to master them all.

And I understand, that you might not know if you want to make web apps with Python or want to use it for Machine Learning.

But becoming really good at one thing, will make it easier to transition to another programming aspect.

Stay focused on learning one purpose of Python programming. Learn that good. Then switch focus if you figure out something else has your interest.

A focused learning path will teach you programming faster.

#4 Unclear goal

The fastest from first line of code to a paid job that I know of was done of friend of mine. He did it 9 months. Yes, he has a steady salary every month. And he loves what he does.

He used to serve coffee in a coffee-shop (not the types in Amsterdam), and the pay was hopeless, people were rude, working hours awful, his boss was (I think we should sensor what he said here).

How did he manage to get this job that fast?

Well, learning Python programming in 9 month to a level where you get paid, that is remarkable. I am not talking about someone making script to automate trivial things. No, he builds web applications and writes Python backend code. That is great achievement.

What did he do?

He had a clear goal. He wanted to write Python backend code for web applications.

He first of all, stayed focused on only learning that, and also, his goal was clear.

It was not just something he tried to see if he liked it or had talent for. Do you know what I mean? Well, most of the time when we begin something, we only “try it” to “feel if it is something for me”.

That is vague and unclear what that means?

He had a clear goal. Python backend web applications.

Now he does it.

Keep a clear goal.

#5 Poor learning material

Do you remember the hopeless hours you spend in school being bored, counting the seconds until the break?

Luckily, our brain help us remember most positive things. But I do remember all that. What I remember better are the hours at lectures at University, listening to professors that know a great deal about the subject, but where really poor at teaching.

The truth is, most professors at University are more passionate about new science, than teaching students that are not engaging.

If I was to redo my University time, I would not waste time on the lectures. They were not good.

Funny enough, the books were either written by the professors or 600-1000 pages books authored by the sole purpose of getting as many pages as possible.

To take the professors books, well, they had the advantage, that they were more notes and only a few pages for each lecture. The bad part was, they were not good and often not structured very good.

The 600-1000 pages books, were no better, it was pages up and down written with the sole purpose of filing as many pages as possible. Why? Because they get paid by pages, and the ULTIMATE BOOK OF (insert the subject here), just needs to be 700+ pages to convince you.

Again, we want to learn it all. We want the ULTIMATE BOOK, instead of a specialized book.

What is the point?

Poor learning material kills the joy, and learning material often has another agenda than teaching. To sell books and courses.

The same is true of most material online. The main purpose is not making great learning material, it is to sell.

What to do about it?

Find an inspiring source to learn from. Someone that is burning to teach others, not just focused on earning money.

#6 Not realistic time frame

We all hear the story about that guy or girl, which got the first paying job in 9 months and less. And yes, I know it is possible.

But let’s face the truth.

No matter how talented and naturally gifted you are, you will not be on a senior developer level after 9 months.

It takes on average 5 years of full time professional working to become a senior developer. If you take a college degree in computer science, that is, you spent 5 years learning a bunch of programming stuff, then it still takes 5 years of professional working experience to become a senior developer.

Because learning is one thing. Using it in real world is another thing.

But when we hear it can be done in a short time frame, we immediately think we can do the same.

The only person I know who did it in 9 months, well, he committed all his free time to do it. All he did was, work his miserable job, train a bit to stay physically healthy and relax that way, eat and then code, code, code, and some more code.

Most people cannot commit to this kind of life for 9 months. And some people, me included, are not able to do it in 9 month, even if we had the time.


Because we all have different learning journeys. I always felt like a slow learning, and I most likely am. But you know what? In the end it doesn’t matter how long you used to get there. You will be rewarded in the same way.

How can we use this knowledge?

Well, don’t set goals like “I will get my first paying job in 12 months”. Sorry, only a few can do it, and I will reveal a last thing about my friend.

He did an extraordinary thing to get the job. Not just a normal application and land it. No he tried that with no success. He did more than that. First of all, he called the hiring manager talking to him. Had phone interviews first. Accepted to start with 14 days with no pay and no guarantee to get hired.

How long does it take on average?

Well, I cannot say. It depends on how much work you put in. Just saying, that these wonder stories are not everyday stories.

Other options, like making freelance jobs, is quite easy to get.

#7 Feel alone

For a senior like me, I didn’t think about at first. I started programming at age 12, and got some friends hooked on it as well. Then in college I was surrounded by like minded.

Then I talk to all of you and I realize. Many sit alone with problems and don’t know where to find answers to your problems.

Most don’t feel comfortable asking beginners questions on Stackoverflow, as it is more focused on how to solve specific questions and not on how to understand some programming concepts.

You burn to learn programming, but do not have a teacher to ask.

That makes you feel alone and many give up.

As a senior developer, you find all the answers to your problems on Stackoverflow and discuss it with your colleagues or other friends with similar interests you have gained by working in the tech industry your entire life.

But as someone starting to learn, where can you ask these questions?

  • The ideal is to have a one-on-one tutor, but that is often expensive, especially if you need qualified help.
  • Take a paid course with guaranteed help from the instructor.
  • Ask someone on Twitter (I get asked by people tagging me).
  • Start in group together – have a Facebook group where you study together with others. A place where you can ask questions and get help from others.

#8 Lack of motivation

This is funny. We talked about focus and clear goals, but often something interesting happens. You loose motivation.

Many think that motivation just sticks if you want something bad enough.

Let me ask you, did you ever experience that you quit on a goal that you were really exited about?

Most will agree they did.

Many will also say, I thought I had a clear goal and focused strategy to get there.

So what happened?

This is what we call lack of motivation. It can sneak up unexpected.

What to do to keep motivation?

Print out your goal. Like my friend. “I will become a Python backend web application programmer.”

Put it in a place you see every day, on the mirror in your bathroom. When you see it, read it out loud. Remind yourself how it will feel when you accomplish your goal.

If you do it every day, you will keep the motivation.

#9 Compare yourself to others

I think this one is big.

You sit there with a problem, you see other just solve it, you get the explanation, you still don’t get it, you feel stupid, because you are the only one in the room not getting it.

Or you see others succeed and get jobs in 9 months, you’ve been working on learning Python in 22 months, and you still don’t fully understand the basics.

Well, I have been there and can still there today. You can always find someone to compare yourself that will make you feel stupid.

The good news is, you don’t need to be a rock-star at every aspect of programming. You just need to be decent. We all make, so called rookie-mistakes, as senior develoers. I have done it, my colleagues have done it, we continue to do it. We ask for help, we laugh when we realize how embarrassing and simple the mistake was. But we have done so many times, and know it will happen again.

How to avoid this?

Stop comparing yourself to others. Your learning journey is yours. In the end, it doesn’t matter how you got there.

As a senior developer, no-one would look at your CV as notice you spend an extra year learning something. Because now you know it and they need your skills.

Python is in high demand.

Want to learn Python programming?

If you are hooked on learning Python I will suggest you follow my beginners course on Python.

It is well structured and has focus on you as a learner.

I suggest you break it down as explained in #1.

  • Day 1: See lesson with new concepts – take notes.
  • Day 2: Recap lesson (either from notes or video) – then see introduction to project. Try to solve the project and stop when you get stuck.
  • Day 3: Possibly recap lesson again, then continue with project. If you are really stuck – see solution.

Then continue that pattern for each lesson.

The course is structured with the following resources to improve your learning experience.

  • 17 video lessons teaching you everything you need to know to get started with Python.
  • 34 Jupyter Notebooks with lesson code and projects.
  • A FREE 70+ pages eBook with all the learnings from the lessons.

Learn Python


  • 70 pages to get you started on your journey to master Python.
  • How to install your setup with Anaconda.
  • Written description and introduction to all concepts.
  • Jupyter Notebooks prepared for 17 projects.

Python 101: A CRASH COURSE

  1. How to get started with this 8 hours Python 101: A CRASH COURSE.
  2. Best practices for learning Python.
  3. How to download the material to follow along and create projects.
  4. A chapter for each lesson with a descriptioncode snippets for easy reference, and links to a lesson video.

Expert Data Science Blueprint

Expert Data Science Blueprint

  • Master the Data Science Workflow for actionable data insights.
  • How to download the material to follow along and create projects.
  • A chapter to each lesson with a Description, Learning Objective, and link to the lesson video.

Machine Learning

Machine Learning – The Simple Path to Mastery

  • How to get started with Machine Learning.
  • How to download the material to follow along and make the projects.
  • One chapter for each lesson with a Description, Learning Objectives, and link to the lesson video.

1 thought on “9 Reasons Why Most Fail Learning Python and How to Avoid Them”

  1. Thanks for this I have saved this link it helps to re-read it when had a hard day or start to lose interest. Read it again and get back to Learning Python.


Leave a Comment