DEV Community

Cover image for How I would learn how to code again from 0 (the right way)
Pasca Vlad
Pasca Vlad

Posted on • Originally published at blog.vladpasca5.com

How I would learn how to code again from 0 (the right way)

If you found value in this thread you will most likely enjoy my tweets too so make sure you follow me on Twitter for more information about web development and how to improve as a developer. This article was first published on my Blog

The first thing you need to do is decide what you want to learn

I can't decide that for you, but I can guide you

There are a lot of different fields you can choose to learn (Machine learning, web, mobile, and more)

What you need to do is research all of these fields...

until you found one that you enjoy

After you did that, you need to choose a programming language to learn for that field

For example, if you choose Machine learning you should learn Python

Or if you choose web development you should learn HTML and CSS

Now, after you know exactly what you want to learn we can start the learning phase

The first thing you want to do is create a Twitter account

Why?

Because you will need to document your entire journey here

You'll write a tweet about each new concept that you learn

After that, you need to find a Youtube tutorial on the programming language that you need to learn

Just search something like "how to learn [the programming language you want to learn]"

You don't need a complex video

Choose the first one you can find and watch it

Yes, I said watch it

Because this is what you need to do the first time

Just watch it, after you did that, watch it once again but now also code along and take notes

After you did that, it's time for some practice

Go on leetcode.com and solve some easy problems in the programming language you're learning

If you don't know how to solve one of them, don't panic

Break them down and use Google a lot

Do this for a week or two

After you finished most of the easy problems from there, it's time for a small project

To begin this I recommend again, following a tutorial that builds a project (a simple one)

So, you will first build the project following that tutorial

But after each feature you build...

You'll build it again alone

And as always, if you get stuck, use Google or the actual tutorial (but only if you really need to)

After you finished the whole project, you'll build it again from 0 alone

You might feel overwhelmed but that is normal, remember that this is why...

you build every feature separately, on your own

Again, if you get stuck just use Google or the actual tutorial

By this point you should already know the project pretty well

That's why what you need to do next is a bit harder

You'll need to add more features to that project

Yes, that might sound intimidating at first

But if you think for a few minutes about features you could add, you'll get tons of ideas trust me

Try to implement small features, not something big

This might be hard at first, but it's the thing that will teach you the most

You'll continue using the same strategy for 2-3 more project until you feel comfortable with building stuff on your own

After that, it's time for some real-life experience

And here you have 2 options:

  1. Open source
  2. Freelancing

Let's start with open source

For this one, you'll go on Google and search

"open-source projects for beginners in [the programming language you're using]"

Go over some of them, and after you found something interesting contribute to it

Most of them have some docs where you can find out how to do that

Do that for a few weeks and you'll see your skills improve

  1. Freelancing

This one is a bit harder but you can still get around it

I already posted one thread about a good strategy that you can use to find some freelancing work: https://twitter.com/VladPasca5/status/1450801786261020674?s=20

Follow the strategy from that thread and work for 2-3 people to learn and practice more

Don't expect to get paid, you're doing this only to gain experience

After this phase, you'll be pretty confident in your coding skills

So you can continue learning more languages, applying to jobs, doing freelancing, or working on your projects

But remember that the learning journey never ends

You'll learn something new every day

I hope found this useful and if you did please let me know. If you have any questions feel free to DM me on Twitter._let me know. If you have any questions feel free to DM me on Twitter.

Top comments (6)

Collapse
 
shandesai profile image
Shan Desai

Because you will need to document your entire journey here

You'll write a tweet about each new concept that you learn

A better way is to learn Markdown and document the journey on GitHub or a personal blog or a Digital Notekeeping app.

But of course, Twitter is okay to I guess.

Collapse
 
pascavld profile image
Pasca Vlad

no, trust me, twitter will bring you a lot more opportunities

Collapse
 
toto290 profile image
Tom

What is the benefit of shouting out every small step to Twitter?
It's not like people will be interested in your daily achievements or that you could browse your Twitter as a neat knowledge data base. Or am I mistaken?

I would go for the markdown approach like @shandesai proposed. My tool of choice would be obsidian.md for that.

Thread Thread
 
pascavld profile image
Pasca Vlad

"Or am I mistaken?"

yes

Thread Thread
 
toto290 profile image
Tom

I hoped for a more elaborate reply, since I have no experience with Twitter

Thread Thread
 
pascavld profile image
Pasca Vlad

well I already elaborated it in the thread