Lots of people want to be a developer but don’t know quite where to start. And fair enough, getting started is arguably the most difficult part of becoming a developer. Luckily, learning to code doesn’t have to be hard. You’re about to learn everything you need to know to start your development journey.

But first, you need to be prepared to keep trying. Things don’t work straight away, you aren’t going to be writing any really complex programs for quite a while. It takes a lot of time and commitment to become a programmer, but if you’re willing to dedicate that then everything else will follow in due time.

🎯 Pick a language and stick to it

The first thing you need to do is pick a language. The programming language is the very core of your toolset, it is how you’ll create your logic. There are a huge number of different languages to choose from and at a fundamental level they’re all the same. The difference is in the syntax and the intended use case.

For almost any beginner, I would recommend that you pick Python. Python has a really intuitive syntax and it is quite simple to get started in. Not only does it give you a great place to get started, but it has a wide range of different use cases. It can be used for everything from making games, to designing websites and even AI and machine learning. It’s ease of use combined with it’s versatility make it a perfect choice for any newbie - and it can be used at a much more advanced level too.

Once you’ve learnt a language, learning others will be much more simple because there are core concepts and ideas that transfer between languages. If you master one, it becomes much easier to master others.

So, I strongly recommend Python, but you can start with any language that you want. Just make sure that there are adequate learning resources available for your chosen language, and that there is an active support community ready to assist you in your journey to becoming a programmer.

📕 Learn your language

Once you’ve picked a language, you can start learning. But how? There are a large number of different ways to learn any language, some of which include:

  • Watch tutorials on YouTube (just search for how to do something in your language, after watching something on getting the basics in the bag).
  • Read a book (you can find books on most languages)
  • Find online tutorials (articles from various websites)

Something else you’ll run into (a lot of) is bugs. Bugs are simply a term for something not working right. When your code doesn’t work, it has a bug. As a new programmer, it is really important that you learn how to fix these bugs. There will usually be an error or warning that you can link to the bug, and reading this is important as it will help you to resolve the issue. You should also look for communities (check places such as Discord and online forums).

A very popular place to go to fix problems is StackOverflow. There is a giant selection of questions already available there, which allows you to find answers fast, but you can also ask a question and get a response from experts for free. This makes it an invaluable learning resource. If you want some more information on StackOverflow, then I strongly recommend reading this.

🛠️ Work on projects

It is vital that you get experience with your chosen language, and it is very important that you start to do this once you have a moderate amount of experience. After you reach a certain skill level, real world experience is the only way that you’ll be able to continue improving. Luckily, there are plenty of ways for you to do this without even having to stand up.

You could contribute to an open-source project. There are plenty of projects on platforms like GitHub that could really use some support from developers, even if you’re still quite new to the whole thing. What’s even better about this, is the fact that you’ll be able to get feedback from other developers working on the project, and you’ll also be able to see how other people modify and improve your code, giving you valuable information on how you can improve your coding. You also get to be part of a large community of developers who believe in freedom of code and software.

Another good way to get involved in projects, is to become a freelancer (see websites like Fiverr). You will need to be at least intermediate in your language before you’ll be able to handle any projects that people will want to pay for, but it’s a good way to do something new, earn money and learn new skills all at the same time. You’ll also be working with real clients and dealing with real problems - all of this is very valuable experience that will make you more employable and generally better at writing code.

You also should never rule out working on your own projects. If you want to make something, then having a go and trying is a great way for you to learn, improve and to become a better programmer.

⚖ Be consistent, be committed

You’re not going to get better by dreaming. You need to dedicate some time at a regular interval (every day or week is good) and then spend that time learning. You don’t have to spend long either, it’s great if you can spend hours and hours learning, but even if you can only commit 5 minutes a week, you will still be able to become a programmer. Sure, with only 5 minutes a week it would be a long and slow journey, but by no means an impossible one.

You need to make sure that your time commitment is sustainable. If you decide to spend 3 hours a day learning, when you only have 3 hours of spare time a day, then you will burnout quickly and will find yourself barely any better than you were when you started. That’s why it is much better to commit a small amount of time to learning, but to make sure that you keep on coming back.

It’s important to not let your schedule slip either, if you’re not feeling up to it then it is okay to take breaks or days off (we’re all human, it’s important to remain human), just make sure that you don’t let that day off become a week off, because then you’re on a slippery slope to not doing anything. And if you don’t do anything, you don’t get any better.

See every success as an achievement. If you have to spend days or weeks fixing an issue, then see every little milestone as an achievement. Every time you learn something new, you can feel satisfied that you’re getting better. Any progress is good progress, be proud of it.