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:
- Open source
- 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
- 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)
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.
no, trust me, twitter will bring you a lot more opportunities
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.
"Or am I mistaken?"
yes
I hoped for a more elaborate reply, since I have no experience with Twitter
well I already elaborated it in the thread