Hey, my name is Oksana, I’m 22 and I’m learning how to code. I started this journey 6 months ago and today I wanted to share with you some helpful advices.

Understand your goal

You need to have a clear vision of what you want to do. This will help you understand where to start. If you are interested in web development, you should start with HTML, CSS and JavaScript. If you want to learn how to build a mobile application, you should also think about the platform that interests you most: Android, iOS or both. According to your choice, choose the language you want to learn. These can be Java for Android, Swift for iOS and React Native for both. If you want to be a data scientist, I advise you to learn R or Python. In fact, the programming area is so vast that you will certainly find something you are most passionate about. If you don't know it yet, start with the basics. Learn what a function is, what a loop is and how to write if....else statements. I learned these basics with Java and Python, but these notions are usable in every language. The declaration may be different, but the meaning is the same. So just start with what seems more interesting for you.

Find your community

Sign up on Twitter, follow the people in your area and those who are also starting to program like you. Make your Twitter feed a source of inspiration and motivation. I also suggest to do your Twitter account in English, even if you are not a native English speaker. Because the English-speaking developer community is much larger than any other, so you will certainly find your tribe. How to find people on Twitter? The most obvious way is through #hashtags. The most popular for new coder are #CodeNewbie and #100daysofcode. Include them in your tweets so people can find you too. Also, create an account on dev.to, Medium and ProductHunt to be informed about everything that is happening in the world of programming.

Install linter for your code

Linter is a tool that helps you maintain your code in good quality. It will show you all the little mistakes you make when you write a program. It makes your code clearer and more understandable. Do it as soon as possible to get into the habit of writing readable and well organized code. For example, the most popular linter for JavaScript is ESLinter. You can find another one on the Internet. In the future, this will help you enormously when you need to make changes to your program or if you work in a team, so that others can quickly understand your code.

Ask google

I 100% guarantee that the error you have in your console has already occurred in someone else's console too. And that someone else has already asked a question on StackOverflow about it and had some decent solutions. Don't be afraid to google your errors and questions if you got stuck. The answers are already on the Internet. The hardest part is finding them. Try to master google search. Keep your request brief and understandable. Sometimes it is enough to copy your error into a search box, sometimes it takes more time and imagination. The template for google search is quite simple: "your problem + language". However, the difficulty is often to understand your problem. You should carefully read your error and find out what went wrong. It may take time to learn how to google. Personally, I'm not good at it, so I'm still learning.

Don’t reinvent a wheel

I suppose that when you start coding, it is important to see your results quickly enough to  not get discouraged. For this reason, I suggest that all new coders use libraries that make your code functional much faster. For example, I started my programming journey with html/css learning. The first page I created was sincerely ugly, which made me very sad. Then, I implement Bootstrap in my code, I use their native elements and my web page becomes responsive (which is VERY important) and more professional. It made me super happy, because it saved me a lot of time and made my page more beautiful.  There are many useful libraries for Javascript that I use in every single projects: moment.js, cron, axios. Now we are working on a new version of our Crosspost project that essentially helps to schedule your tweets and facebook messages. We needed to make a calendar to choose the date of your post. It would take a long time to create our own native calendar. Moreover, we are a team of two people, we do not have enough human resources to do all the elements by ourselves. So we used a library. And that's all right. Save your time and save your efforts for the things that really interest you.

Don’t be too hard on yourself

You won't become a good programmer in a week, not even in a year. You will constantly have errors, you will always have problems that you cannot solve immediately. You should be ready for that. And don't forget that everyone started out like you. The best minds also were new coders once. In fact, the more you learn, the less confident you become. This is called the Dunning-Kruger effect.

Source: https://www.intelligentspeculation.com

Yes, it’s sure, the time will come when you will be discouraged and demotivated.  You will need support. It can be your Twitter followers, family or friends. Don’t forget to take breaks, go outside and breathe. And remember that you're not stupid, you just don't have enough experience. Coding requires a lot of patience. Be ready for that. And always keep in mind why you started your journey in code. Have a dream and go for it.

That’s it. I hope you enjoyed this article. If so, let me know on my Twitter. And remember, it’s never too late to start learning.