Roadmap To Crack Big Tech Companies For A First Year College Student
As a first year college student, you are in a very good place to build a successful career in the software industry. If you are reading this post, you have already taken your first step in this journey. You have 4 years of college life which gives you enough time to prepare for big tech companies without any stress. Additionally, if you are in the CS branch, you will be studying the relevant courses as part of your curriculum.
I have myself worked in big tech for 10 years, and have interviewed 100+ candidates while working at Google, so I will share my experience on how you should prepare.
Programming Language
You should have a good command over any one Object Oriented Programming language. If you do not have any preference, C++ is a good place to start. Spend your 1st semester at least, just learning C++. Understand the ins and outs of the language. You should be able to code anything in C++. This will build a solid foundation for yourself. Another good option is Java.
Data Structures
Once you have a good hold over a programming language, you should start learning Data Structures. There are many good books, paid courses and free resources out there. You can choose any based on your preference. During my preparation, I read from a Data Structures book by Adam Drozdek. You should spend time understanding the details of each DS, coding them yourself from scratch and understanding the time & space complexity of the operations involved.
Algorithms
Once you are good a DS, next comes Algorithms. You should have a deep understanding of popular algorithms, their space & time complexity analysis, how to code them, and how to use them in coding problems. I prepared by reading a book by Thomas Cormen. But you can take help of any paid or unpaid course available out there, based on your personal preferences.
Practise
Along with learning algorithms, you should also start doing Competitive programming. I used to participate in Codechef contests, but you can pick any platform. If you can get good at competitive programming, interviews at big tech will be like a walk in the garden.
Another thing that you should start doing along with algorithms is practising interview problems on platforms like LeetCode. This can be done even towards a later stage, if you are already doing competitive programming.
Projects
Start exploring some interesting project ideas related to web development, app development, or some backend systems. Be genuinely curious and explore what is going around in the industry. Talk to professors and seniors to understand various domains out there. Pick 1 or 2 good ideas and start learning skills to implement those ideas. This will build a good resume for you. It will help you in securing a good internship and your first job.
CS fundamentals
If you are from the CS branch, do not ignore your college coursework related to CS topics. If you are from other branches, you should look into courses like Networks, Operating Systems and DBMS. Though not mandatory, but It does not hurt to have a good CGPA. Try to keep it above 8/10, so that you are eligible for all the companies coming for campus placements. Preparing for CS courses will help you answer questions during your interviews. If you are not from a CS branch, it is fine to delay studying this towards the later part of your college life.
All of the above may seem overwhelming, but trust me it will be super fun. Additionally, since you have a lot of time with you, you do not need to grind a lot, as you are not on a tight deadline. Enjoy the journey, and if you prepare well, there is no reason you could not get a high paying job at one of the big tech companies in India or abroad.
I have written multiple posts on the topic of building a successful career in the software industry. You can check a few of them here.
Building a stellar profile for tech jobs
Getting a job at good tech companies
Career advice for people in tech
Getting into big tech companies requires a special set of skills and is highly competitive. It is natural to have more questions on this topic. To get all your doubts answered, you can schedule a mentorship session with me.