As engineers, whether from a CS background or not, we have dreams of getting a high paying job. On platforms like Linkedin, we see so many people cracking interviews of big tech companies, and securing a high paying job offer. Looking at them, we wonder if we can also get into these companies. But the struggle starts here. How to actually begin our preparation. There are so many programming languages to learn, so many complex Data structures and Algorithms to study. Some people are asking to build projects for resume, some are suggesting competitive programming. This becomes so overwhelming that we are paralysed to even start.
We do not know what to even begin with. In this post, I will try to answer the very first step that you should take to start your preparation journey.
Before you even take the actual first step to begin your preparation, you should first prepare your mindset that the target you are aiming for is achievable. If you are from a tier 2 or tier 3 college, you may feel a lack of confidence because you do not have that tier 1 tag. But let me break this news to you, you can get into big tech companies like Google from any college. I have myself interviewed 100+ candidates for software engineer roles at Google, and I rarely checked which college the candidate studied at. Even in interview training, interviewers are trained to measure the skills of the candidate and base their feedback on how they performed on the question given to them in the interview, and not on their college. I know so many of my awesome peers who are working at senior positions at companies like Google, and come from tier 2, tier 3 colleges. So you should first prepare your mind to believe in yourself that no matter what your background is, if you can gain a certain set of skills required for cracking interviews at big tech companies, you have a good chance at success. If you are still not convinced, do check out this post.
Preparing your mindset to trust that you can achieve the goal is a key step towards your preparation.
Once you believe in yourself, you are ready to take the first step in your journey. The foundational skill needed to crack tech interviews is to have a good command over coding. On a lighter note, you should be so good at coding that you can code even in your sleep. What I mean is, that as easily as you speak your native language, you should be able to translate your logic into code that easily. The best language to learn coding is an Object Oriented Programming language. The OOPs concepts are an important part of interview preparation, so if you begin your journey with an OOPs language, it will help you in your preparation later. I chose C++ for my journey, you can choose any other language as well. Java is another very good option.
As the very first step, you should spend a few months just coding in any one language. If you are in your 1st year of college, you have enough time. Spend 1 hour daily for the next 6 months learning just C++, and you would have built a strong coding foundation. This is what I myself did during my college days.
Do not worry about projects, DSA, competitive programming or anything else for now. As your first step, you should just focus on learning an OOPs language like C++ and practise coding as many programs in it as possible.
Once you are good at coding, you might want to work on your profile to make it stand out in the job market. Do read this next post which tells you different ways to do that.
Hey man, does it really matter what language you do DSA in? I'm asking because I do DSA using Java and I'm learning Deep Learning using Python. Should I just use Python for DSA? Context: I'm a 2nd sem ISE student.
P.S. Thanks for such informative posts :)