Do you know the story of Chandan Kumar? Despite failing to get into the IITs and NITs, he was set on one goal – to find his dream job in a product based company. After refusing an offer from a small-time company during his campus placements, he applied to several companies, asked friends to refer him internally, and reached out to HRs on LinkedIn. But, none of that worked.
I started to apply for big dream companies. I started dropping my resume into their job portal. Three months later I realized, they don’t work, for freshers and especially if you are not from a premium college.
He pursued his dream relentlessly and 3 months later, he finally achieved it.
Now, there are lakhs of freshers and developers in service based companies like Chandan in our country who are extremely talented but are unable to get a job in a product based company. Either the companies do not visit colleges during campus placements or outright reject fresher applications.
If you relate to this and are wondering how to switch from service based company to product based company, keep reading on.
Most of us would love to work in a product based company for various reasons.
The pay, perks, and the prestige that come with these companies are inviting. You get to work with cutting-edge technologies and be surrounded by product-minded people. Overall, it can lead to a satisfying career in the longer run.
But the important question is how to get a job in product based companies?
By the end of this article, you will know exactly what to say and how to prepare for job interviews conducted by various product based companies.
Interview rounds in product based companies
Let us break down the complete interview process, round by round, and understand:
a) What exactly interviewers look for in potential candidates, and
b) How you can prepare for each of these rounds:
- Exploratory call
- Coding assessment
- Personal interview round
- Engineering round
- Culture fit round
1. Exploratory call
The exploratory interview allows you to learn more about the organization, and the interviewer about you. It sets the expectation for the rest of the interview process.
It is usually a 30-minute casual phone call in which the interviewer shares information about the role and explores your interests and qualities to suit the job.
They want to know if your skills and strengths match what you have shared in your resume. This is a great opportunity for them to understand the work you have done in your previous projects.
They are looking to get a general idea about your involvement in the project, the functionality and usefulness of the project, and the tech stack used.
The next thing interviewers want to learn more about is your career goals. They are interested to see if your goals match with the company’s objectives and evaluate how best to provide you the right opportunities to excel with them.
If you are wondering how to prepare for product based companies, the first step is to thoroughly research the company you are going to interview for.
Find out what the company does, history and size of the company work culture, employer reviews, and other background information.
Also, gather information about their different projects - past/ongoing, the tech stacks used, things that stand out/can be done better so that you can bring it up in the interview.
If you can, talk to current/past employees of the company to understand what the company does at a much deeper level.
Further, prepare a few questions you can ask the interviewer that will help you understand more about the company and the role.
Chart down your strengths and technical skillset that would be valuable to the company in the long run. Basically, know what you have to say when asked “Why should we hire you and not any other developer?”
Think in terms of what you want from your career, say, three to five years from today. If things go well, you might even proceed for a quick technical evaluation – a coding round or a technical quiz.
2. Coding assessment
This is a preliminary test before the company decides to invest more time in you. You will be given a series of coding tasks in a development environment to test your programming knowledge and skills.
It is usually a take-home test that comes with a deadline.
Another approach taken is an on-the-spot time-based test in which you are asked to solve multiple problems.
The first thing they look for in this round is if you have the knowledge and can code in a specific programming language.
You will be expected to solve a finite set of problems in a time-bound manner. Speed will play a deciding factor in evaluating your performance in this round.
Make sure you add comments in your code and document your thought process to make it easier for the reviewer to understand your approach.
Not just that, the questions you ask in this round reflect clarity in thought, a quality assessed in product-minded engineers.
They also want to see your testing approach, how you debug your code, and overall correctness and completeness of your solution.
There is no one kind that fits all when it comes to practicing for this round. Being a time-bounded assessment, work on improving your speed while practicing for this round.
Quite often, you get to pick the language of your choice, unless the requirement is for a specific language. If you are given the option, pick the one that you are adept at even if you are familiar with multiple languages. And most importantly, stick to it until the end of the interview process.
3. Personal interview round (PI)
In this round, you will be given live coding challenges to prove your skills.
If you have made it to this round, you have successfully crossed the preliminary stages of your test.
Hereon, different companies conduct interviews in different ways to get to know you and your capabilities at a more objective level.
Interviewers are going to test your problem solving skills during this round. The data structures and algorithms you choose to demonstrate your problem solving abilities leave a lasting impression on the interviewer.
Since data structures are fundamental and common to all programming languages, a variety of scenarios can be tested using the same problem asked in multiple interviews.
Interviewers also pay attention to your analytical thinking skills, i.e. the kind of trade-offs you make when you write and optimize your code.
These kinds of questions also help assess your critical-thinking abilities and how you think through problems to arrive at the right solutions.
Coding in front of an interviewer can be quite stressful, especially when you are not used to it. As for the interviewer, it gives them a live glimpse into your approach and logic, how you think, and your ability to code under pressure.
Interviewers are also interested to see what you do when you are stuck; they want to see if you ask the right questions before rushing to figure out a solution.
Even though you will be expected to write a piece of code without compiling errors, this round tests much more than your flawless code.
The tasks in this round often include writing code from scratch as well as editing existing code. While it is not possible to fully assess your coding skills, they can evaluate your coding style and your ability to code well.
You might also be asked to test your code for “interesting” cases manually.
Another decisive factor is the readability of your code. They see if the variables are named clearly and are self-explanatory. When someone else reads your code, they should be able to understand it. You are going to build tools that are most likely going to be used by non-tech-savvy people. So, another key trait interviewers look for is your ability to communicate complex ideas in a simple manner.
When it comes to preparing for this round, quality beats quantity.
Most product based companies come up with difficult, algorithm-intensive problems. After practicing thousands of problems, if you are still stuck when faced with an unseen problem, have you really learned how to apply data structures?
While practicing, break down the problem and write the pseudocode for it. The more you do this, the easier it is going to get for you to simplify your problem and recognize patterns in unseen questions.
Once you have got a hang of it, time yourself, and practice multiple problems to improve your speed.
To improve coding style and readability, treat every line of code you write as if it were production-ready. Have a programmer friend read your code and ask for feedback. If they can understand it without much hassle, your coding skills are in top shape.
4. Engineering round
The engineering round, on the other hand, is categorically different. It is meant to evaluate your foundation in computer science and raw programming ability. This is done usually through formulaic questions on data structures and algorithms to understand your approach, thinking, and choices made while working on technical projects.
Just like the coding round, you get to pick the language of your choice here as well (but stick to what you chose in the previous round).
It is important to showcase your knowledge in this language as interviewers use it as a framework to test your confidence in your strongest language.
Download free interview preparation guide: Be sure to impress interviewers when you talk about your experience
Coming to your project work, theoretical know-how is great, but you also need to be prepared to have meaningful discussions about your project work.
It is crucial that you have a solid answer to back the purpose of your project. Interviewers are keen to understand your thought process behind selecting and working on the project(s) shown in your resume.
With regard to OOPs (Object Oriented Programming), interviewers use your projects as a reference point to check how you:
- Segmented the problem into well-organized classes.
- Picked the right base classes and derived classes.
- Organized your class variables and methods. Be sure to be at the top of your game when it comes to applying Abstraction, Encapsulation, Inheritance, Polymorphism in real world scenarios.
Check out Crio’s Free Learning Content To Level Up Your OOPs concepts:
Preparation for this round starts right from the time you choose to work on technical projects.
Choose from the best technical projects and get started with a guided plan.
Your technical projects stand out in your resume and can give you an edge over other candidates. So, you need to carefully pick the ones that can leave a lasting impression on the interviewer.
Generally, showcasing 3 to 5 projects is a good recommended practice.
While picking these projects, go for the ones that will highlight in-demand skills and technologies like web app development, android/iOS app development, MongoDB, Redis, Spring Boot, React, Node, Django, MYSQL, HTTP, API, etc.
Along with this, prepare clear and specific answers to talk about:
- Goals of your project(s).
- Technical challenges faced.
- Technical choices made to overcome the challenges.
Bonus resource: Use this easy technique to impress interviewers when talking about your past experience
Another tip a lot of engineers miss out on is capitalizing GitHub.
Add your GitHub profile to your resume as employers are likely to scan your profile to check your contributions to open source projects.
5. The cultural fit round
While being a good programmer is important to apply for product based companies, that is not all the skills required for product based companies.
These companies place a lot of emphasis on organizational culture and evaluate whether you are the right fit based on your values, beliefs, and behavior.
The cultural fit round ensures that you are a great person to work with and the company’s goals align with yours.
Interviewers like to gauge your interest by assessing what you know about the company and your expectations of it. They see if you have put in the time and effort to understand the company’s goals and values.
The next thing interviewers look for is your inclination to work both individually and as a team. Your ability to take feedback and criticism also play an important factor here.
Apart from these, interviewers want to understand your interests outside of work, your priorities, and how you balance work and personal lives.
Research the company’s background beforehand. Check their website, social media, read reviews, and get in touch with people who already work there. Ask them about the organizational culture and assess if you would fit there.
Understand their mission and vision and use it as a foundation for analyzing the company’s work culture, values, and office environment.
Rehearse your answers in front of a mirror or with a friend. The more you practice, the more comfortable you become during the actual interview.
In addition to rehearsing answers, prepare questions to ask the interviewer. This shows inquisitiveness and can avoid the conversation from being one-sided.
- Use your answers to steer the interview in your favor.
- Keep your answers short and to the point.
- Maintain a dialogue with your interviewer.
- Do not speak continuously for more than a minute.
- Be genuinely interested in the company and in what they are doing.
- Be polite, honest, and receptive to feedback at all times.
Share information that intrigues the interviewer to ask a question about it. Be prepared to answer that question. Use your answers as segue points. The interviewer’s next question always depends on the answers you give.
Use the opportunity to get to know more about the role and the company. Your questions can revolve around:
- Key responsibilities
- Required skills
- The company’s culture
- Learning and growth opportunities
- Team structure and hierarchy
- Tools and technologies used in the company
As a rule of thumb, avoid asking questions about working hours, holidays, the interviewer’s personal life, and salary (unless the manager brings it up first).
Things to do land a job interview in the first place
Here are some general tips that will increase your likelihood of getting interview calls from big companies:
Perfect your resume
Your resume is the first step to landing your dream job. Spend some quality time on it and make sure it stands out from a sea of mediocre ones. Look at the job description and the required skills to tailor your resume for that particular position.
Best Resume Building Tips, Mistakes to Avoid, and the only DOs and DONTs you need to know - Download Guide
Explore opportunities and network
There is no better place than LinkedIn to study your job opportunities and get connected to employees working in the companies you want to apply to.
Make sure you have updated your work experience, skills, and background before you start networking.
Include a clear headline and bio to help your potential employers understand you at the first glance.
AngelList is another powerful platform to explore opportunities in growing startups.
Build your skills and gain real experience
If you are about to graduate or looking to switch to a product based company, consider finding an internship instead of a full-time job.
Internships are a great opportunity to gain experience before you enter a developer role in a product company and you also get to see if it is something you would enjoy doing.
Moreover, if you perform well, the chances are that your position will be converted to a full-time role.
You can also work on real world projects like these and build your skills with Crio. The bright side of choosing Crio is that you not only get to include industry-relevant projects in your resume, but you also boost your career with the expert guidance.
Meet Gujrathi’s work portfolio that landed him his first Software Engineer role at NICE Actimize: https://criodo.github.io/Crio-DevSprint-Jul-2020-meetgujrathi/
Lakhs of developers in India are not able to get placed in product based companies because
- Either the top product based companies do not visit colleges during campus placements
- Or the companies outright reject fresher applications
But it is not impossible to get a job in product based company.
Knowing the right things to say and preparing well for the job can help you crack the interview rounds in the best product based companies.
All you need to do is understand what the interviewers are looking for and prepare strategically for each of the rounds:
- Exploratory call
- Coding assessment
- Personal interview round (PI)
- Engineering round
- Cultural fit round
Even before this, make sure you get the following things right to be eligible for the above interview rounds:
- Perfect your resume
- Explore opportunities and network
- Build your skills and gain real experience
If you practice all of this, you will easily be able to crack the million-dollar question: