According to the Bureau of Labour Statistics (BLS), the expected demand for software engineers will grow by 22% by 2029. Isn’t it a good sign to start your career in software development? Yet, we bet nobody wants to set the bar too low and work in dubious companies with small wages.
That’s why we have come up with a short overview of the best recommendations for cracking a software developer job interview at Big Tech. We have talked to Pranav Malik, a Software Engineer with 3+ years of experience who works at Microsoft, ex-Oracle, and PayPal. Plus, he says he has cracked around 60+ companies. Let’s get started.
Q: What are the first steps to starting a software development career?A:
As a software developer, you’re expected to be able to solve problems, so good problem-solving skills are half the battle won. If you’re a person who loves solving problems, software development is a good place to start for you. Actually, outstanding problem-solving skills differentiate a good software developer from a bad one. An avid problem solver thinks out of the box, and that’s the thing that big companies cherish the most. Besides that, you should be proficient in data structures and algorithms.
Q: How were your initial interviews?A:
Again, most companies look primarily for problem-solving and data structure knowledge if you're in the initial stage of your career. Companies like Amazon may ask you to solve medium-to-hard problems like tree-based problems or graph-based problems. Microsoft, in its turn, is famous for backtracking problems, whereas Google specializes in dynamic programming-based problems. You have to research the company beforehand to prepare to the fullest.
Yet, in general, most companies are interested in problem-solving skills, data knowledge, priority, technical competency (internals of Java, theoretical knowledge may be also asked), and computer science fundamentals.
Also, keep in mind that the more interviews you have, the more you learn. So, don’t be afraid to gain experience and attend numerous interviews (even if you’re not going to work in a company you’re attending).
Q: Is there a difference between the requirements of startups and corporate companies?A:
Yes, there is a difference. If you’re going to a product-based company, your skills should be suitable for that specific product. For example, if it requires knowledge of the back end, there is no necessity for full stack and vice versa. If the product is excelling, you’re excelling too, i.e., developing more skills.
Q: How have you kept learning and mastering to grow your software development career?A:
If you’re choosing a software developer career, you should understand that you’re “a learner throughout your life.” You need to be ready to practice and learn every day. You'll re-start from zero if you take a long break or pause. Nobody wants that. So, just practice daily, and quite soon, it’ll become a habit.
Q: What tools, languages, and technologies are important to master in software development?A:
It’s a very open-ended discussion, and there is no definite answer. My answer is “whatever works for you and whatever technology you’re interested in”.
Java is a very popular programming language, and every sector is using it right now; Python is extensively used for Machine Learning, Node.js is useful for people doing full-stack development. AI, chatbots, Cloud services… The options are limitless.
The only thing to note here is that you should always keep up with the times, no matter what technology you choose. Technologies won’t remain static, so you should learn with them. Technology will force you to study and your brain to function.
Q: What should be included in a resume of a newbie or a software engineer with some prior experience?A:
At least 2-3 projects in your resume to show you’ve done something independently. You can talk about what you did, challenges faced, and technologies used.
Some amount of internship is also good. You just get a first-hand experience of what your life will look like. If you’ve won some competitions, it will also be a bonus.
Q: Is LinkedIn or/and GitHub profile really important?A:
It’s very important. If you’re not on LinkedIn, how are you looking for jobs? In the professional sphere, everything is on LinkedIn right now. It’s like Facebook. LinkedIn is a place where you can connect with people professionally and check the interviewer profile beforehand (what I personally do every time).
A GitHub profile is also very important. You should have any project you have developed on GitHub. And sometimes, because of these projects, you may get hired – if the project is interesting, there is a high chance that the interviewer will get impressed. I’d give it 9 out of 10 when it comes to importance.
Briefly, LinkedIn works as a digital portfolio, while GitHub works as a programmer’s Instagram, where you can showcase your profile and completed projects.
Q: How to prepare for different interview rounds? What is the difference between them? How many of them did you experience in Microsoft, Oracle, PayPal, and other big companies?A:
In general, big companies have 5-6 rounds minimum. The first one is something like an “online coding round,” where interviewers typically ask two or three questions to evaluate your problem-solving skills. The second one actually tests them.
Then, most likely, you’ll experience two targeted rounds – for example, one round for a low-level design and one for a high-level design. The last round is performed by a hiring manager, where they ask general or behavioral questions for 45 minutes and technical questions for 15 more minutes. At big companies, directors may also speak to you to evaluate whether you’re a good fit.
Q: Are there any specific soft skills for landing in big companies?A:
Soft skills are very important. For example, at Amazon, they may ask you about leadership principles just at any stage of the interview. They may speak for 45 minutes about technical issues and then devote 15 minutes to your attitude, “How you’d implement that.”
You should be able to communicate very well. You should be able to clearly explain your approach and convey all your thoughts to the interviewer. Unfortunately, I missed an opportunity to work in Meta, Facebook, just because I was unclear.
Nowadays, many candidates have very good hard skills, so soft skills are what can make you stand out.
Q: What are your thoughts about the Indian IT market?A:
India is progressing quite a lot. India has even beaten the UK in global rankings regarding the tech industry. And what is notable, more and more startups are founded by Indian people, not only foreign companies.
Tech is now vastly used in agriculture, healthcare, and education. The government sector relies on IT as well. And as nearly every sector is dependent on technology, more and more jobs will be created in India. I believe that the next 10-20 years will be the golden period for the Indian IT sector, so stay in India rather than going to the US or elsewhere.
Q: How can a newbie transition to programming?A:
I have seen many people with art and commerce backgrounds, etc. Again, no matter the industry, problem-solving is the basic skill you should possess. If you’re a good problem solver, you’ll succeed. The key is to learn regularly and not give up. Create a clear, crisp path, and do not deviate from it.
Also, do note that skills now matter more than degrees. Many people from the non-IT sphere perform better than those with college tags. It’s your real skills that make you outstanding.
Q: How to learn software engineering to qualify for a good position?A:
Study every day! If possible, study for 10-12 hours daily. 5-6 hours would also be fine, but you should be consistent.
If you’re a career switcher working professionally, try to devote at least 2-3 hours every day. Do little by little – no need to burn yourself out. Just learn every day until you feel it’s sufficient, then take time off, and resume.
Q: How much can you earn as a junior, at the middle level, and in a senior position?A:
It’s a trivial question. If you’re working in a product-based or service-based company, you’ll get 6-30 ₹ as an entry-level specialist. And I’m talking about a basic salary with no extra benefits. If it’s a top-end product-based company, it can offer a bonus system and stock options - in companies like Amazon, the total can get to 50-64 ₹.
If we’re speaking about middles, the salaries may reach 90-95 ₹, whereas seniors are paid a lot more.
Q: Is it worth learning Java in 2023?A:
Obviously, Java is worth a shot to learn in 2023, 2024, 2025, 2026… the list goes on and on. Learning Java in the second year was my best bet. Similar languages like C# or C++ take only 10-15% of the market, and only niche companies or Microsoft use it.
70% of companies would use Java in any format, and even C++ oriented Microsoft uses Java in specific projects. For sure, Java is a very popular programming language in India. And I believe it’s better to learn Java instead of C#, C++, or Phyton. Even if you’re interested in Machine Learning, I still recommend learning Java first and only then Phyton.
Java is not going to vanish.
Q: If you decided to start your career now, would you train at CodeGym? Would you recommend CodeGym?A:
Yes, of course, it has an ideal curriculum and lets you learn the niche things (without unnecessary info) that you’ll need to crack the interviews that you’ll be facing. In addition, it’s taught by highly-professional industry mentors
Cracking a programming job interview is not easy owing to the fierce competition, especially when you aim for tech giants like Google, Facebook, Microsoft, Amazon, etc. Success lies in careful planning and good preparation.
We hope that these recommendations have given you a hint about the things you should focus on. Was this article helpful for you? Let us know in the comments below if you have any questions or thoughts!