Professional programmer engineer writing code - Designed by Freepik

9 MISTAKES beginners make when learning code


We are all human and we all make mistakes, including me. I personally know just how easy it is to fall into traps when learning code. To avoid others making some of the same mistakes I did I decided to compile a list of some of the top mistakes commonly made while attempting to teach yourself code.

Let’s begin with an example of what NOT to do when learning code, demonstrated by my good self. And just to note, these are in no particular order.

1/ Trying to learning everything at once  

Web development illustration - Designed by Freepik

Software development is a vast sea of information. There are tons of programming languages, frameworks, libraries, and API’s already out there. Plus new stuff is always being added to the mix. Personally I think it’s impossible to know absolutely “everything”. But we try anyway!

There will always be more to learn so as an aspiring programmer, you need to be comfortable with the idea of being a lifelong learner. You will have your whole career to try and master many different langues so don’t worry about trying to do it now.

Instead focus on one area of development and attempt to master all the skills necessary for that.

Besides it being a nigh on impossible to become the fountain of all knowledge, I believe trying to learn everything at once is detrimental for 3 main reasons.

3 reasons why trying to learn everything is bad for beginners

  1. Causes confusion – At the start, you are going to be confused enough without adding extra layers. To minimize the initial confusion it just makes sense to try and keep things as simple as possible. So that means sticking to one area or language at the start of your journey.
  2. Disrupts your learning –  Learning multiple things at once mean you have to switch between subjects. This means putting one subject on hold while you are learning another. Depending on the gap between your switch in subjects, you may find yourself forgetting what was covered in your last lesson.
  3. Slows you down – It doesn’t take a genius to realize that if your getting stuck and your learning is being disturbed, it may slow the whole process down!

Hopefully, now you can see why trying to learn everything at once isn’t very practical. And to be honest, you don’t need to know “everything”.

For example, you don’t need to know every back-end language when one can achieve the same outcome as the other.

Even when you look at the job market there is no generic role that requires a broad base knowledge of everything. A job normally focuses on a handful of languages and frameworks. And these are centered around a particular role or even language. E.g. Web Developer, .Net Developer, Android App Developer, Java Developer, so on a so forth.

I am not saying this to stunt your thirst for knowledge, but elevate any anxieties you have due to the notion that you need to know everything!

2/ Not coding along 

It’s really important that you code along with video tutorials every chance you get. Even if the instructor is just coding up a simple example to illustrate a concept.

You may think sitting back and watching is enough to absorb the information. But you will gain so much more from physically writing the code yourself. As strange as it sounds you need to build muscle memory!

The truth is at the start, writing code DOES NOT feel natural, it feels slow and clunky. It’s like riding a bike, you can’t quite get your balance.

But like riding a bike, once you’ve been pedaling around for while you start to get the hang of it. Then in no time, it feels as natural as walking.

The same applies to learning code. That’s why it’s so important that you don’t cheat yourself by passively watching tutorials. Any chance you get to code, even copying tutorials will help build your muscle memory.

3/ Waiting to become an expert before diving in

Leader standing on big winner golden cup - Designed by FreepikDo you ever find yourself thinking, “I can’t wait till I finish this course so I can start making cool apps”. This was defiantly me!

This is an easy mistake to make, and in my mind, it’s the result of two things. One, the misconception that you need to be a genius to be a programmer. And two, beginners don’t have a lot of coding confidence.

If you doubt your intelligence like I did, then, of course, your going to have low confidence. When your confidence is low you end up shifting your goals further away. You convince yourself that you need to improve a whole lot more before you can ever hope to make your first app. But that’s not the case.

When can I start building my first project?

The short answer. NOW. By diving in as soon as possible you will learn more and gain confidence quickly.

I mentioned beginners don’t have a lot of confidence. Well, what’s a good way to build confidence? BY DOING! And what’s the best way to learn something? BY DOING! So, what do you need to do? START DOING.

Personally, I think one of the best things you can do when learning code is to build your own projects. You will be surprised how quickly you can start doing this.

You don’t have to be big complex projects. They can be small ones, designed merely to demonstrate what you have learnt. But the point is to start diving in as soon as you can.

Sure, use books and courses to learn the basic’s but don’t be afraid to get stuck in, even if you think you’re not ready. Otherwise you may get stuck in a loop of learning but never doing.

When I first started I didn’t have a lot of coding confidence so I waited before dipping my toe in. And I really wish I hadn’t!

Looking back now I realize I was more than ready and could have started way sooner. Luckily I realized the error of my ways and began “doing”. As soon as I did I saw the benefits.

Building stuff and taking a practical approach is so valuable because it not only builds confidence but helps cement what you have been taught.

You will soon build yourself into a cycle of elevating your ambitions with each step in your knowledge and confidence. Yeah sure, it’s going to be hard and you’re going to stumble. However, if you persist you will find the answers, and it will benefit you immensely in the long run!

4/ Giving up just before it “clicks”

This is a fatal and obvious mistake and is the main reason your programming dreams constantly slip through your figures. But again, I am here to say your not alone.

You may already know that I had a few failed attempts at learning code in the past. I always bombed out before things really started to “click”. Little did I know each time I was on the cusp of things at last making sense. Had I pushed on a little more I would have broken through the wall, and into a world where I finally “got it”.

I can pretty much say with 99.9999% certainty, that every beginner will or has faced a brick wall. A point where throwing your laptop out the window seems like a completely rational solution.

If your lucky enough never to have had this, then I applaud you. However, it’s more than likely that your day has yet come. And when it does, remember, don’t give up!

I think in order to learn programming you need to have a lot of patience. Because it is challenging and you will get a lot of errors and bugs in your code. It’s just part and parcel of becoming a programmer.

I am sure even experienced programmers will tell you that they still get errors and bugs. So know your not alone when you run into your first wall.

When you conquered your first wall, then you know you’re a real programmer because programmers are problem solvers.

5/ Leaving gaps in your learning

One factor that was crucial to me learn code was my mantra of “code every day”. As a beginner, you are in danger of falling off the wagon the moment you start leaving gaps in your learning. This was one of the reasons my first few attempts crashed and burned.

Let us say you are in the middle of a Java course, learning about Object Oriented Programming, and you decide to take a few days off. What happens?

Well, more than likely you come back to your lessons on Encapsulation to realize you can’t quite remember what Encapsulation is! So what do you do? You repeat the previous lessons.

As a result, you end up moving backward rather than forwards and it’s just frustrating.

Of course, this is just an example. However, I use it to illustrate the point that you’re in danger of what I call “short-term amnesia”. For things to really cement in the brain they have to be implemented.

The mentality of coding every day also helps turn the act of coding into a habit.

When something is a habit it becomes natural. We can carry it out on autopilot because it’s built into the routine of our lives. And this is something I have talked about at length in my post How to create the PERFECT ROUTINE to learn CODE.

6/ Attempting to memorize code

Educational infographic - Designed by Freepik

During my early days, I adopted this strategy. However, experience has taught me that this was a mistake. You would have thought by memorizing everything bit of code you would become the ultimate programmer. But no.

The problem with this approach is you end up with a lack of fundamental understanding.

To paint a picture, it’s like memorizing the words of a foreign language, without knowing what the words mean. Since you have no understanding of their meaning you can’t properly hold a conversation. Every time the other person responds your only hope is to smile, nod, and pray that they don’t notice the vacant expression on your face.

You will also find this path is very time to consuming. In fact, it’s futile because there is simply no way to memorize hundreds of lines of code.

Luckily we live in a world of Google and platforms like Stack Overflow, which can act as the ultimate quick reference guide. Although, you may ask yourself, “isn’t that cheating?”.

Well….no. Searching the internet for answers is not cheating, it’s just part and parcel of the job nowadays. In fact, one of my instructors once told me that programmers are expert Google’s.

Although, I would advise AGAINST blindly copying and pasting code without understanding it, or taking the time to understand it. In this scenario, you are only cheating yourself. You’re missing a perfect opportunity to learn and grown.

It’s fine to use code form the internet, but read it, work with it, and test it, until you understand it. At the end of this process, you will have learned something new. And that will be more valuable to you than just copying pasting code.

7/ Ignoring the importance of clean readable code

For a beginner, the emphasis tends to be on getting your code to actually work. Therefore it’s kind of understandable that the importance of clean code is missed.

I have to be honest when I first started I would write patched up code with no real thought for readability. I didn’t care as long as it was working. Rookie mistake! It’s so important to write clean readable code.

There are a few of very good reason, both personal and professional. However, it all boils down making your code user-friendly.

You may think it doesn’t matter so much when it’s your own code. But let me ask you a very important question, how good is your memory?

There have been a number of times in the past where I have looked back nostalgically over my first lines of code. Only to ask myself, “what the hell is this!”. I would genuinely struggle to read and understand what I had written.

You have to consider that if you’re struggling to read your own code after a few months, others may find it impossible. As a result, you probably won’t win any popularity contests among your co-worker. Think how much time could be wasted and aggro caused because no one can understand what you wrote.

Be considerate of yourself and other and KEEP YOUR CODE CLEAN.

If you need some guidance on writing clean code, Robert C. Martin wrote a brilliant book called “Clean Code: A Handbook of Agile Software Craftsmanship”. That will teach you everything you need to know.

8/ Not testing your code as you go 

background of icons and list of elements in flat design - Designed by Freepik

This is more of a tip than a fatal mistake, but I wanted to share it with you to save you a few headaches.

At the start, I had a stupid assumption that my code would just work as intended. Of course, that is never the case! I was also ignorant of the fact that more code means more places for bugs to hide.

If you deiced to wait until the very last moment to run your code you may be met with a ton of pesky bugs. Then you have the lovely job of trying to deciphering what’s gone wrong, and more importantly WHERE.

Granted, it may not be all that stress-inducing when you have a few lines of code. But with increasing complexity, I am sure you will begin to regret your decision.

Do yourself a favor, and test your code as you go. It will save you time, stress and a whole lot of headaches. It’s a good habit to get into anyway so you might as well start now.

9/ Sweeping bugs under the carpet

In the beginning, it’s very tempting to ignore errors and move onto your next lesson, especially when you’ve been stuck on the same problem for days.

But remember, bugs will always come back to bit you in the butt! 

What do I mean by this? Well, if you are blind to your mistakes, then you’re doomed to repeat them. Because you don’t know where you have gone wrong, you can’t hope to avoid making the same mistake in the future.

Ignorance is bliss they say, but not in the case of errors and bugs. The problems won’t go anywhere unless you fix them. And you need to fix them in order to improve and become the best programmer you can be.

You can’t run forever so you might as well deal with the problems there and then.

Debugging is also an important skill as a programmer and the only way you will get better is by crushing bugs!

At the end of the day, the aim is to release bug-free software. Nobody wants an app filled with errors and bugs that crashes every 5 seconds. And nobody wants to hire the programmer who makes such apps.


I am sure there are plenty of other mistakes that beginners make, including myself. But these are just some of the main ones I wanted you to be aware of.

If you have suggestions for other mistakes you feel beginners would really benefit from, then please feel free to let me know so I can add it to this article. Beginners are stronger together. And as always, thank you for reading.

Feature image designed by Freepik

Sharing is caring!

About the Author Owen

Creator of Code Dad, father and self-taught programmer. My mission is to balance life, work, family, all while learning to code, and hopefully help others who want to do the same.

follow me on: