Skip to content

Learning to code

Learning to code is a never ending, rewarding, frustrating, enlightening task. In this article you can see what is the generic roadmap (in my personal opinion) of a developer. As each of us is different, probably a generic roadmap won't suit your needs perfectly, if you are new to coding, I suggest you find a mentor so you can both tweak it to your case.

Learning methods

Not all of us like to learn in the same way, first you need to choose how do you want to learn, for example through:

  • Attendance-based courses.
  • Online courses.
  • Video courses.
  • Reading books.

Whichever you choose make sure you have regular feedback from other humans such as:

  • Mentors.
  • Learning communities.
  • Friends.


The roadmap is divided in these main phases:

  • Beginner: You start from scratch and need to get the basic knowledge, skills and tool set to set the learning ball rolling. At the end of this phase you will be able to develop simple pieces of code and collaborate with other projects with the help of a mentor.

  • Junior: In this phase you'll learn how to:

    • Improve the quality of your code through the use of testing, documentation, linters, fixers and other techniques.
    • Be more proficient with your development environment.

    At the end of the phase you'll become a senior developer that's able to code autonomously by:

    • Creating a whole project from start to finish.
    • Contribute to other open source projects by yourself.
  • Senior: In this never ending phase you keep on improving your development skills, knowledge and tools.

Don't try to rush, this is a lifetime roadmap, depending on how much time you put into learning the first steps may take from months to one or two years, the refinement phase from 2 to 8 years, and the enhancement phase never ends.


First steps are hard, you're entering a whole new world that mostly looks like magic to you. Probably you'll feel overwhelmed by the path ahead but don't fret, as every path, it's doable one step at a time.

First steps are also exciting so try to channel all that energy into the learning process to overcome the obstacles you find in your way.

In this section you'll learn how to start walking in the development world by:

Setup your development environment




Git is a software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different systems).

Git is a tough nut to crack, no matter how experience you are you'll frequently get surprised. Sadly it's one of the main tools to develop your code, so you must master it as soon as possible.

I've listed you some resources here on how to start. From that article I think it's also interesting that you read about:

Language specific environment

Learn the basics

Now it's the time to study, choose your desired learning method and follow them until you get the basics of the type of developer you want to become, for example:

In parallel it's crucial to learn Git as soon as you can, it's the main tool to collaborate with other developers and your safety net in the development workflow.

Searching for information
  • Search engines
  • Github