How To Become A Programmer. Advises From A Dev Among Others 👶😉
Tags: beginners, codenewbie, programming
Published: 2020-04-11 10:15:04

---
title: How To Become A Programmer. Advises From A Dev Among Others 👶😉
published: true
description: In this article, I'm speaking to people that want to get into programming. I'm going to give you some advice that I would have liked to receive at the time when I was planning to learn how to program.
tags: beginners, CodeNewbie, programming
cover_image: https://media.giphy.com/media/jSuu6dQWhSEQE/giphy.gif
canonical_url: https://blog.yafkari.dev/blog/how-to-become-a-programmer-advises-from-a-dev-among-others-49cl
---

Hello everyone, it's been a while now... I was again very busy with school, side projects and the current crisis of the __Covid-19__ didn't help...

I hope that you are all doing wonderful, that this crisis didn't affect you and your family that much 🙏🏻

## Intro

Today, I'm writing this article to share with you what I would say to someone that wants to __get into programming__. I have been asked about this question several times, so I decided to write an article about it in order __to share my advises to everyone__. (Please do not hesitate to contradict me and give your opinion in comments)

_// if you're on my personal blog, the comment section is under development, I'll build it as soon as possible !_

I must specify that I won't talk about any programming language in particular but more about the general aspect of programming. 

Because for me, before learning a language you have to __learn the terms and the fundamental principles of programming__ (basic algorithmic, terminology, ...)
When you have that basis and you know how to call things, you can do your __research by your own and learn any language you'd like__.

Without further ado, let's get to those advises !


## Stay realistic !

First of all, don't underestimate coding! __Don't think that in just a couple of weeks you will code the new Minecraft__ like I did when I was young, it's more complicated than you think! It's not impossible but it will take times, so take your time and be patient 🤓.

__Before learning how to run (or even fly) you must learn how to walk__, so first,  learn the basics of programming like, how computers works, what is inside my machine, what variables are, what an IDE is, ...

Learn loops, structures, algorithmic, ... After that you can dive into classes and objects with «Object oriented programming», «inheritance», «Polymorphism».

Learn what is a compiler, an interpreter, a VM (virtual machine), ...

You will also have to learn what libraries and protocols are, those things will allow you to create more complete programs/games/websites or whatever.

__Don't be discouraged__, even if it seems difficult, with practice you will get through. And __more you will learn, more you will have facilities__ because everything will be clear and logic in your head.


## Find resources that fits you !

At the beginning, __take your time to find good resources to learn__, because even if there are a lot of good resources on the internet, there are also a lot of videos or articles from people who say things wrong. There are also those who shows you very complex things just to show you that __THEY__ know and therefore __THEY__ are the best and __THEY THEY THEY__. Of course, I'm talking about __arrogant people 😆__, I'm tempted to say that the IT industry is full of them ! 

But don't make me say what I didn't say, __there are a lot of good resources and kind people__, and it is thanks to the internet that I know so much (and at the same time so little).

A good example is [DEV](https://dev.to) that is __full of amazing people__, you can also find __very passionate people on YouTube__, ask your friends and people who codes for long time advises and resources that they found useful 👌🏻.


## Build things and enjoy !

__Don't stay passive__ and copy pasting every tutorial you found on YouTube, __practice !__

If you just learned a concept or a language or whatever, just use it in a little project, why not build the famous __Todo app__, or a __Tetris clone__, or a __Snake__ ? Those are examples of cool little project that aren't that complicated and you will learn a lot from them ! You need to practice and get wrong to learn ! For me, __practice and mistakes are the real teachers__, you will improve yourself and you'll understand that __some of the things you took for granted weren't!__

On top of all this, you will have things to show to your friends and to the future recruiters you will meet, and this will be a __source of pride and motivation__ for you.


## Copy / Paste is your enemy !

__Don't copy paste, while you are learning !__

__Copy pasting is a false friend__, you think that it helps you but it's not !

You are not yet comfortable with programming, the syntax, the naming conventions and all that stuff. __You have to practice__ and write everything until you can program without any self-completion. That's why I advised in a previous [post](https://blog.yafkari.dev/blog/ide---the-beginners-trap-eg2) to __avoid using IDE__ at the beginning, it will force you to write everything, it will __force you to remember__, and that's what we want !

## Don't learn everything !

A big mistake that, I have to admit, I usually do is to learn everything. 

What I mean by everything is learning Web development, Gaming development, Cybersecurity, Cisco networking, ...

Focus on one field and specialize yourself in it. __It's okay to try__ to create a website, to watch a video of someone creating a game to see if we like it or not and make a considered decision, but __don't learn every single field in depth__.

## Conclusion

__Don't give up ! Anyone can do it, I promise you.__ And even if you are not motivated sometimes, get out of your bed and just practice __you will thank me later 😉.__

_Speaking about motivation... What motivates you ? I would love to know this !_

If you think I missed an important advice, __feel free to share it in the comment section !__

_Again if you're on my blog there is no comment section for the moment, I invite you to continue the discussion on my social networks, in the meantime_

I'm more active on [Twitter](https://twitter.com/yafkari2000), __see you there \^\^__