I get some requests from students asking for guidance and mentorship. But I don’t have the time. So I am writing a post which will be more valuable than any mentorship I can give, provided you follow it.
It involves learning using free online resources. So there’s no reason why you can’t do this. We will be using only three websites for our learning needs.
Let’s go!
0. Learn a programming language
You will need to learn a programming language to kickstart your Computer Science journey. Don’t worry about getting good at it yet. Knowing the basics will do. I would recommend C. But you can start with Python if you find it overwhelming. At this point, the programming language you choose doesn’t matter. So just get started with anything.
1. HackerRank
As a Computer Science graduate, you need a basic understanding of algorithms and data structures. HackerRank has a beginner-friendly interface and it’s a great place to learn and practice them. We will concentrate on only 3 sections on the website.
Solving 150 problems from the above sections (combined) gives you a good base. 50 from each. That’s your target.
If you don’t understand something, google it. Then google it (drill-down) more. People have written articles and made videos on everything.
2. FreeCodeCamp
Once you have some algorithm foundations, we can move into software development. FreeCodeCamp is a great start to this. It has an extensive tutorial for learning how to make websites and web-apps from scratch. You can go through its curriculum. Complete it.
Also join their forum so that you can discuss with other learners, ask questions and help others.
3. Coursera
After you have a working knowledge of algorithms and making web-apps, you can go to Coursera. It has free courses on everything. The ‘free’ part is not straight-forward so please refer to this article.
In Coursera, search for what you want to learn, and then learn it.
If you are not sure what to learn, the Computer Science section can give you some ideas.
Pick any course you want and go with it. All courses are of high-quality. The rating for the course shows that.
Example - Here are the specializations (i.e. a collection of courses) to learn Android Development, Game Development and Python.
Search for anything and you will find it. Then learn it, if you want. Keep doing this over and over.
If for some reason, you can’t get a course for free, apply for their financial aid. You will get accepted. They are very gracious towards students.
How do I know if I am on the right path and learning the right thing?
Don’t worry about learning the right thing. Learn anything that interests you and sounds right. Learning things on your own will make you a better learner. This will help you pick up anything in the future. And that trait alone is all you need to have a great career in tech. So in short, just keep learning.
What’s next?
After you have been through a few courses and are comfortable writing code and making things, you should participate in Google Summer of Code. I have a step-by-step guide for it as well.
Conclusion
If you follow all the steps above, you will reach a point where you will be able to self-mentor yourself. You will know what things to learn and what to avoid. When to contact someone for a query and when to google it yourself. It’s important to get this feeling for yourself because tech is ever-changing. That’s why I am not a fan of step-by-step mentorships in tech.
Explore the wild, develop your senses, and keep going. You will soon reach a good place in your career.
Best of luck!
First posted on my blog