Starting in programming as a self taught developer

Tags: career, selftaught
Published: 2020-08-19 13:40:21

There’s a lot of ways to go into the programming world professionally, you can go to college, a bootcamp, or you can learn by yourself and become a self taught developer.

The programming learning curve for a self taught dev, for me looks like this:

![My perception of the self taught programming learning curve](https://dev-to-uploads.s3.amazonaws.com/i/ly8qctdcuy67x3m6d8hd.png)

It sounds hard at first, but the only difference is that you will be your teacher, this has some cons of course.

* Sometimes you will find “knowledge gaps” along your career, which means that you don’t know determinated core concepts.

I didn’t learn what is a thread until few months ago for example.

* Learn by yourself is emotionally hard, you will find yourself sometimes fighting the “I’m not good at this” monster. But remember that you took the hardest step already, you decided to start.

* Is hard to structure how you will learn, what to learn first…

But it also has pros:

* Sounds cool

* You will learn in less time, and is cheaper!
 
* Once you know how to learn something, you can learn whatever you want.

* It builds really nice habits that companies appreciate, like consistency or the ability to solve problems by yourself.

## Progress

One thing i like about being a self taught developer, is that I created my own study method and i still study using it, is something that i created and I have perfected and you will be really proud of that.

Some things i usually do and help me to understand determinated concepts:

* Read everything twice at least

* If you don’t understand what a concept or word means, stop, google it, learn it, understand it, then keep reading

* Be consistent, you need to learn this, and maybe you will learn this the hard way, but remember this: no programmer learnt to code in two days at a profesional level. Progress is not something you can measure easily, what you can do is:

At day 1, write an exercise, it doesn’t need to be large, it doesn’t need to be perfect, just write something, and save it in a codepen, or a folder in your machine

At day 30 write the same exercise, and compare it with the exercise you did on day 1.

You won’t notice ultra awesome differences (it depends of the size of the exercise tho), but you will notice that probably you resolved the exercise faster, you understood easily what the exercise is about, and you made less errors than in the previous exercise, let’s call this “implicit progress”. The fact that you don’t see yourself progressing doesn’t mean that you are not progressing.

## Build consistency

It takes some time to develop an habit, so take it easy:

* Create a comfortable space where you can learn without distractions.

* Reserve some time each day, even 30 minutes works, but make it part of your daily routine.

* Don’t feel overhelmed, just chill, nobody is judging you, you are not failing the whole thing if you miss one day of studying.

* Invest in your setup, a good laptop can last for years, and slow things are really frustrating, so getting a nice machine is a thing you should consider.

* Remember stackoverflow is your friend, and probably somebody faced the problem before, use the search box before asking.

Nobody said programming is easy, but humans tends to understimate their capabilities sometimes, and there’s no way to determine if you can do something until you try it.

Pixo