Have you decided to learn to code? Great! But that’s just the beginning. Whether you already had some experience or have never typed a line of code before, the feelings when learning to code are normally the same: a mixture of nervousness and frustration with a very strong motivation pushing you to overcome all barriers in your path.

The idea is simple: keep the same motivation afloat.

Let’s be honest, learning to code is like an emotional roller coaster. Our task is to unify them in a way that you can actually feel or understand where you are at some point.  

Stage 1: The beginning:  Motivation & Anxiety

It's normal to feel very motivated at the very beginning. A new career is about to get started. In your mind, there is an overabundance of hopes and high expectations about becoming a software developer.

As you start to learn the basic concepts and syntax, you start feeling the anxiety to get more, to do it great, to finish your exercises and challenges. It may happen that the first task proved to be a piece of cake and you begin to see yourself as a potential hacker; that’s the anxiety speaking.

In this stage no matter how hard people said it would be you feel you can achieve everything.

Stage 2: Grasp the information: Falter & Overwhelm

You will learn HTML, CSS, and Bootstrap and then your journey with JavaScript will begin... and yes, there is more stuff still to learn. At this point, you might feel that the basic concepts are starting to vanish and that you can't manage all the info entering your brain.

In the meanwhile, your training continues and more concepts, frameworks, technologies, languages, tools, libraries are coming into your life to say "hello" and to stay there until you master them. Anytime soon you will find a bug or maybe tons of them in your code. Practice is the only solution.

Stage 3: Suffering self-doubts: Despair

There’s a point where **everything seems to be impossible. **You can’t handle a new concept. You've tried to solve the problem; what you are expecting to happen it is not what actually happened.  

Now is when the harmful self-talk begins, "I have no idea what the xxxx I'm doing," "what was I thinking when I decided to learn this," "this was a stupid idea"...and so on, but, hey!  What if you ask for help?

Don’t let your motivation vanish so soon. You will spend more time debugging than learning/creating new stuff, but that's what coding is about. Debugging allows you to fix your misconceptions and improve your programming abilities, by analyzing your error patterns you will be able to resolve them quickly if you see them again.

So, do not listen to that voice,** if you are developing software, you are a developer**.

Stage 4: Go back. Ask questions. Look at other people's code: Optimism

If you get stuck for more than 30 minutes on the same problem, ask for help and quit the task until you get Senior advice.  You have two ways of doing it:

You can try to find an answer online by:

  • pasting your exact error message;

  • explaining what you want to happen and what actually happened; or

  • mention what you have already tried.

Wait. If you are part of our program, we will be your first-hand solution.

There's a wide community of programmers that have been through the same or have already discovered an answer for your problem. Remember: do not to copy and paste someone's answer to your question, the idea is to analyze the answer and learn the cause behind your error and find out how to fix it.

This is the point where you are probably facing two main options: you can easily go back to phase 3 (feel despair) or jump into phase 5 (feel invincible).

Stage 5: Finish the project: Feel invincible.

Finally, you get the glory and all the efforts are worth the while. Your code does what you want it to and it looks exactly as you expected! You understand more and more about technologies and languages. You feel invincible, a bulletproof programmer...until the next time, of course.

Stage 6: Return. Keep practicing: Motivation & Anxiety...again

Aristotle said it: "the more you know, the more you don't know" and when you are learning to code, this is law.

Once you are here you never stop learning; technology advances every day and developers constantly learn new things to further adapt themselves to every change in our digital environment.