No matter your experience level, we have all gone through difficult times and worked on difficult projects when coding. Beginners are prone to making mistakes, and that is okay. Through preparation, attention to detail, and dedication, beginners can learn from these mistakes to become better programmers in the future.

Whether you are a beginner or not, learning common mistakes beginners make will help you avoid making the same mistakes. Addressing these problems now will lead to forming good coding habits and accelerating the rate you mature as a programmer. These are some common pitfalls for new developers.

1. Learning without Doing

I think this is one of the biggest areas where beginners go wrong, and I’ve put it in first place for this reason.

A lot of people turn to online tutorials when they want to first start to code.

Online tutorials can be indispensable in your early days. However, some learners come to over-rely on them without doing sufficiently enough of their own independent coding.

Tutorials that hold your hand tend to leave you with the feeling you’ve learned a lot but haven’t necessarily grasp the concepts.

Some people even rush and switch through tutorials like the latest series on Netflix. That’s no use if you’re trying to learn things that you want to later use in a real-life job.

You’re going to need to start building actual programs with your coding skills.

Start with a small, manageable project such as a simple ToDo list app, (I’ve got a list of project ideas coming soon). You’re going to fail and you’re going to need to keep trying, once you’re happy with your creation, increase the difficulty.

I suggest using the SMART goals:

What is SMART?

  • S-pecific
  • M-easurable
  • A-chievable
  • R-elevant
  • T-ime bound

A smart learning goal is not just "I want to make this cool Goal Setting app", it should be "I want to make this simple Goal Setting app in 3 months and push it to the app store". Ensuring you have a timeline gives you a definite goal to aim for, helps you to measure progress and make changes when needed.

The important thing is that whatever you start, you see it through. Too many coders zombify their projects by not finishing them.

Not finishing is a flaw I’ve experienced myself; creative people tend to enjoy the first part of initiating a project much more than the ‘tidy up and package’ stage. We are also susceptible to getting distracted by shiny new things when coming up with the next new idea, but by doing that, we never end up finishing anything!

These are also projects you will potentially want to use in a portfolio, so finishing them could demonstrate your ability to deliver to future employers. If you have an excellent idea and you end up releasing it, it can even earn you money.

2. Frustration and Burnout

While it is not specific to developers, nothing will stop you dead in your tracks quite like burnout. The causes of burnout can vary but it is often due to working on a high-stress project for a long time. The symptoms of burnout are exacerbated by frustration during your work.

When you’re learning a skill as difficult as coding, it’s very common to get stumped or confused. This confusion can easily spiral into frustration. Trying to hone your coding skills while frustrated is only going to make a difficult task more difficult.

Like learning any other new skills, it is important to ensure you’re in the right mental state which is more conducive for learning. This means not working for too long at once. Look into methods such as the Pomodoro method that ensure periods of focus and periods of rest to allow you to achieve a flow state.

3. Getting Locked Down by Projects

Another common pitfall for new developers is getting locked down by projects. This goes hand in hand with frustration and burnout.

When working on a difficult project, you can fall into a rabbit hole. As soon as you fix a problem, two more arise. It feels like there is always more to be done. You get stuck on a function for an hour and rewrite it 20 times and still doubt yourself.

All these feelings are natural. However, when you feel stuck like this, it’s time to step away from the project for a bit. Whether it means a 15-minute break or picking it up again on Monday, your brain and morale need time to rest and recover.

Effectively learning requires a positive mental press. This basically means you learn a lot more efficiently when you are in a learning mindset. If you are stressed, you are less likely to learn or create quality work.

It is beneficial for you and your work to periodically step away from a project and come back later in a better state.

4. Trying to do Everything at Once

No matter how much experience you have, you are always learning. On top of that, you can’t do everything, especially not all at once.

Trying to cover all of your bases at once will make your works falter. Trying to cram 100 characters onto a single line makes your code difficult to read and leaves more room for errors. Giant 30 line functions are more difficult to manage and test, best to keep them around 10-15 at most.

Especially for developers who are just getting started, trying to do everything at once can result in longer code. Shorter code is almost always better. Focusing on writing short, concise code is more important than trying to move mountains with 800,000 lines of HTML.

Overall, biting off more than you can chew often leads to messy code and leaves more room for error. For your first projects, break them down into smaller, more digestible bytes (get it? sorry…).

5. Going In Without A Plan

Real-life coding and programming is nothing like the “hackers” that you see on TV. Diving into a brand new software, typing at the speed of light, trying to figure out what you want to do as you do it. These may make good TV, but it makes for a terrible end product.

Most projects and development, in general, is about reading code that is already in place and figuring out how to make your work fit the current system. As discussed in the last point, you want to write this code in small, easy to test iota.

Treating development and programming like any other creative medium, it requires a vision, a plan, knowledge of the craft and the environment, and iterative development. All of these steps combined together will create quality code. The actual act of writing the code is only a small piece of the entire process.

6. Writing Consistent Code

The most important aspect of your code is that it should be readable. Along with being easier to understand, it makes your code easier to edit and build around. Remember, most development and programming involves working with code and systems that are already in place. This means that the work that you create will become part of the systems that will be worked with in the future.

Whether it is a solo project or a system a team is working on, you want your code to be consistent to allow for a more seamless editing experience. Consistent code also makes it easier to test your work. Whether you are testing it manually or automating your tests, working with consistent code minimizes your margin for error.

At the end of the day, you are writing code for other humans. We communicate with each other using consistent language, so your coding should be the same.

7. Lack of focus

Focus can refer to a number of thing and I'm going to take liberty to discuss them all.

Firstly, you need to narrow your focus. That means focusing your learning a single development subject. When I first starting to learn coding by myself, I wanted to make a website so got into JavaScript and HTML, but I also wanted to learn Game Development so started C++, then App Development and started playing with Java.

That was a mistake.

You end up spreading yourself too thin without having the time to completely understand the core concepts. Coding is tough, there's no way around and it helps to target your focus on a single language.

In my case, that turned out to be Java. An excellent choice for a beginner.

You also need to focus by reducing your distractions in order to become a much better and productive learner.

Focus also means not endlessly striving perfection but knowing when what you’ve done is good enough and it’s time to move on.

You can check these two articles I have written on cultivating better work habits.


The world of programming and development is constantly evolving. This list is nowhere near complete, but it encapsulates some of the biggest challenges. When learning, it is important to have guidance should you want to do and also what NOT to do.

Awareness of these pitfalls is the first step in overcoming them. Avoiding these common mistakes will allow you to grow as a coder quickly and increase the quality of your works tremendously.