Disclaimer: I'm just a random 17 years old on the internet - I'm not an expert, so take this with a grain of salt. I'm just sharing my experience and what I've learned so far. I'll keep this updated I learn more stuff.
So, university season is coming up and everyone suddenly wants to learn to code. That's great! But here are a few things you need to keep in mind in your learning process: I keep repeating this again and again - because this is extremely important.
- DO NOT LEARN TO CODE just for the sake of it. Learn to create amazing shit, learn because it will help you in the long run. Learn, not because you'd like a nice high paying job but because you want to provide value with your skills.
- DO NOT fall into the trap of courses and tutorials. They are great, I learnt to code with these courses. But I found myself in "tutorial hell" - I could make things, but only when following a tutorial word-to-word, and I was not understanding what's going on.
- Build. Ship. Repeat. Even if it's an extremely small project or a huge one - put it out there in public.
- Hold yourself accountable in public. There's no better way to keep yourself motivated than to create everything in public. Document your journey on twitter, write blogs on https://dev.to. Share your progress. Feel free to tag me on twitter and I'll fully support you! If that feels overwhelming to you, join my discord server where you'll be with a lot of amazing developers who'll help you out.
You NEED to learn these, no matter what. You'll use them in your daily life as a programmer - so better become a wizard already.
Don't take too much pressure though, you can learn these side-by-side while going through the roadmap.
- Git & Github
- Terminal commands
- Object oriented programming, functional programming
- Some basic data structures and algorithms
- Databases (how they work and how to use them)
- APIs (REST) (how they work and how to use them) - I have written a blog about it
I spent wayyy too much time making that 😅
Here's my justification for the roadmap, and some links to tutorials and courses.
I know. Python is not a great language. It's slow and feels like spoonfeeding to beginners. But - it is THE language to learn if you wanna get started. Learning to code isn't easy, it comes with it's own ups and downs. So you gotta make sure that you stay motivated throughout that journey. Python lets you move quick - VERY quick.
So, as soon as you learn some concepts, you can start building cool things! And that's what keeps you motivated.
Here's a great course to get started with Python: https://www.youtube.com/watch?v=_uQrJ0TkZlc (I learnt from this course) If you speak hindi, here's one more good course I had gone through when getting started https://www.codewithharry.com/videos/python-tutorial-easy-for-beginners/ (I wouldn't recommend you to follow the other tutorials by codewithharry, they're not that great because tutorial hell)
While learning python, you'll also learn some basic concepts like data structures, algorithms, object oriented programming, functional programming, etc. We'll need that later on.
What is Node.js?
You can use it to build command line tools, or even build web servers - there's no limit to what you can do with it.
So yeah, learning React would be cool. But you can also learn Vue or Angular. It doesn't matter. Just make sure you learn one of them.
I know, I know. You wanna learn C++, Java, C#, Rust, Go, etc. But, remember what I said earlier? You need to learn to code, not just learn languages. These languages keep you motivated while giving you enough knowledge to build cool stuff - and that's what you need to learn.
Now that you're done with the basics, you can learn any language you want. But, I'd recommend you to learn these languages next:
- C++ (if you wanna learn game development)
- Java (very popular if you want to get a job or get into competitive programming / android development)
- C# (if you wanna learn game development)
- Rust (i have a blog on it - https://dhravya.dev/blog/learn-rust)
For most of your projects, you'll need to store data - and that's where databases come in.
I'd recommend you to learn SQL first. It's a very popular database language, and you'll need it if you wanna get into data science or machine learning too.
You can learn SQL here: https://www.w3schools.com/sql/
Well, you've learnt a lot of stuff. Now, you can start building cool stuff. But, you need to keep learning. You need to keep building. You need to keep shipping.
That's it for now - if you have any questions, feel free to reach out to me. I'll be happy to help you out.
If I provided any value to you with this post, leave a thanks in the guestbook
Thanks for reading!