Finding it difficult to learn programming? Here's why.

You’ve tried and given up way too many times. Maybe you’re just not cut out for it.

Finding it difficult to learn programming? Here's why.

You have spent countless hours doing YouTube tutorials, taking paid online courses, and reading introductory programming articles.

Yet, it feels like there is a barrier you simply can’t break through. There are people out there writing complex code you don’t understand, and solving complex programming problems.

“I can never become like them,” you think, awestruck. “How did they learn to do it?”

I’ll tell you one thing — they certainly weren’t born knowing how to code, neither are they more intelligent than you.

In this article, I will break down the steps you can take to overcome the fear of programming.

If you are passionate about entering a field that requires programming knowledge (like data science or software development), it is really important for you to overcome this fear.

More than anything, coding anxiety is something that can hold you back from progress for years. Yet, it is something very few people talk about.

Background — My Experience

Photo by Tim Gouw on Unsplash

I was a straight A student in school.

I took pride in my ability to solve problems, and loved subjects like mathematics and science. I was a fast learner, and I barely made mistakes.

However, things changed when I finished high school.

Programming isn’t the same as the subjects taught in a high school class. The only way to learn is by making mistakes. As someone who wasn’t used to this, I was surprised at how long it took me to learn how to code.

“I’m making way too many mistakes,” I thought.

Suddenly, I wasn’t the best at what I did anymore. I struggled at seemingly simple tasks — even setting up a programming environment.

I started thinking I wasn’t cut out for coding.

Everyone seemed better at it than me. I couldn’t even compile code on the Internet without errors, let alone understand it or write out my own program.

This led to a lot of frustration, and I gave up.

And it didn’t just happen once.

I think I tried learning how to code, and took online courses in different programming languages over 10 times.

And each time, thinking I wasn’t good enough, I gave up.

The problem I faced wasn’t lack of confidence. It was the opposite. I was too confident. I was so confident, that when things didn’t happen the way I wanted them to, I got frustrated and gave up.

My biggest mistake?

Thinking that programming was something that could be learnt in a short period of time, and not acknowledging that there was a learning curve. If I had understood and accepted that learning how to code from scratch was something that required effort and patience, I could have saved myself a lot of frustration and time.

In this article, I will break down the type of attitude you need to have in order to succeed in this field.

When I was giving up on learning to code, I thought that there were two types of people in the world — people who were cut out for programming, and people who weren’t.

It turns out I was right.

The people who are cut out for programming, however, aren’t necessarily more intelligent than you.

They just have a certain mindset, and an attitude that has helped them excel in the field. With the same attitude, you can get there too.

How to become a good programmer

Photo by ALAN DE LA CRUZ on Unsplash

You will first need to acknowledge that you aren’t any good at it.

All you have done is taken an online course or two, and done some programming tutorials. Of course you aren’t good at it yet.

There are people who have dedicated their entire lives to the field, and you are just getting started.

Remember that the next time you see a bunch of complicated code you don’t understand. Instead of getting overwhelmed by how good the other person is at solving the problem, and how you’ll probably never get there, think about the time and effort they would’ve spent to get to their level.

If you want to become even half as good, you simply need to put in more effort.

It isn’t a competition. Just because they managed to solve a complex problem that you couldn’t, doesn’t mean they’re smarter than you.

They have put in more time and effort than you. To get there, you need to do the same.

Learn to be patient

Photo by Adrien Delforge on Unsplash

Patience is arguably one of the most important character traits of a programmer. You need to be someone who has the ability to stare at a computer screen for hours.

A seemingly simple problem can take hours, or even days to solve.

You can only learn by sitting down and spending hours debugging code.

I found it really difficult to develop the patience to cultivate this habit.

If you are like me, and get bored easily or have a short attention span, you will need to spend a lot of time training yourself to be patient.

Once you start to learn the art of staring at the computer screen and putting in hours to solve a problem, you are a lot closer to reaching your goal of being a good programmer.

Stubbornness

Photo by Vidar Nordli-Mathisen on Unsplash
Stubbornness: dogged determination not to change one’s attitude or position on something.

Remember when you were a child, and your parents refused to buy you a toy you asked for?

You clamored, cried, and whined for hours. You refused to leave the store with them until they bought it for you, and caused a scene.

Finally, your parents relented. They gave up and bought you the toy.

That is exactly the kind of stubbornness you need when learning to code.

Refuse to take no for an answer.

Every time you get frustrated because you don’t know how to proceed, or a bunch of code doesn’t run, just do not give up.

Stay there, and show the same determination you did when you were a child. If you want this at least half as bad as you wanted the toy as a kid, then you will stay there and finish what you started.

Remember: If you really want it, no matter how frustrating things get, you will stay there and get through the difficult part.

Just the right amount of confidence

Photo by Joshua Bachand on Unsplash

Over-confidence is bad.

Over-confidence will prevent you from making progress, because you expect too much out of yourself.

There are people out there who are a lot better at it than you are. When you look at these people, or read their codes, it is natural to feel incompetent.

The first step towards making any kind of progress is acknowledging that they are better than you are.

And of course they are.

They have spent more time than you have, and have dedicated years to learning how to code. If you want to get better, you need to put in the time and effort too.

In fact, even seasoned programmers know that they aren’t great at coding. The ability to acknowledge that there is a lot left to learn is one of the most important traits of any programmer.

There is no way you can possibly know everything that the field entails. The tech industry is constantly evolving, and there is always going to be something new to learn.

Understand that you can’t possibly learn everything. At the same time, try to gain as much knowledge as you possibly can by keeping up with evolving technology.

Learning to code takes a lot of effort.

You will need to have the right attitude, and develop good habits. These habits that you develop will take you a long way in your career — more than intelligence, capability, or memory capacity.

In order to get over the fear of programming, you first need to understand that there is a learning curve. Embrace the fact that you aren’t great at it yet, and know that it is okay.

You learnt to ride a bike by falling down many times and getting back up again.

Think of programming as a bike.

You’ll fall down way too many times, but that is the only way to learn. As time passes, you will get the hang of it, and become better and better.

You just need to have the right amount of patience and stubbornness to get back up and continue every time you fall down.

That’s all for this article! I hope it helps you in your programming journey, and in overcoming any kind of anxiety you might have about learning to code.

Thanks for reading!

The difference between impossible and possible lies in a person’s determination — Tommy Lasorda