Right questions to ask your potential employer before accepting the job offer
2nd Jul 2021
3 Minute Read
Before jumping into a little background about me, I am a software engineer having almost 2 years of experience.
Over time I have given many tech interviews and also asked so many people about their tech interview experience. And this blog post is about asking the right questions to your potential employer before accepting the job offer. This post is summed up by my own experience, my peers, and my seniors in tech.
Sooner or later, after college most of us starts looking for a new job. Reasons can be different. Maybe good salary expectations or maybe you want to learn more and or maybe get more responsibilities. Reason maybe anything and it's fine.
Generally, you go to any job portal and search for open positions in many companies around us. And if you get short-listed, they start the interview process. And it mainly focuses on evaluating your skills. Problem-solving skills, Technical skills, communication skills, leadership skills, and so on.
The only problem is that after so many rounds of the technical interviews talking about DS/Algo, scalability, good code writing, computer science fundamentals, etc. It takes weeks or maybe sometimes a month or two to get over the interview.
You need to remember that not every company is FAANG. Many people go for different MNC's, mid-size companies, startups, and all. And after even those rounds, you join the company and see that processes are bad, architecture is not good enough, the tech stack is not up to date, teammates are not motivated, no team spirit is there, not getting assigned to the project according to your skillsets, etc. There are many.
This doesn’t happen everywhere but maybe in some cases people face these issues. I have heard from many seniors and other developers complaining.
To prevent that situation from happening, you should turn the interview process into a two-way conversation. Take the initiative and ask your questions, questions that are important for you.
In my case, I always look out for these things in a company:
- Company's Product Vision
- Technical Vision
- Team & Engineering culture
And these things helps me evaluate whether the company is good or not.
So let's go over each of those and you will get the idea.
- Tell me more about your company?
- What is the company mission in upcoming years?
- Tell me more about your product?
- What are the current priorities and challenges?
- What is the plan for the near future? 6 months, a year, two year?
- What is the team size and how stable the team is?
- What are the different roles in the team?
- What will be my role in the team?
- How do you keep people motivated? How do you inspire people?
- How do people make decisions in the team?
- How flexible are you? Is remote work acceptable? If yes, is the office equipped for remote work?
Expectation from you
- What do I need to accomplish in my first initial days?
- What are the biggest challenges for me?
- How does the day-to-day work look like for this role?
- Tell me about your technology stack?
- What is the code quality? Do you have any metrics?
- What is your development environment? Can I run everything on my laptop? What do I need to work remotely?
- Acceptance testing environment. How is it structured?
- Do you practice code review and pair programming?
- How do you structure your application?
- How do you write your styles? ( Methodologies, CSS Modules, Styled components )?
- How do you manage state in your app? Redux / Mobx/ Vuex? Async actions?
- Do use storybook?
- How does your app communicate with backend?
- Do you have server-side rendering?
- Is your app a single page application?
- How do you build your app?
- What style guide do you use? What linters do you use?
- How do you test your software? (unit, e2e) Code coverage?
- What technologies do you use on the backend?
- What communication style do you use? Rest? Graphql? gRPC?
- How does caching work on the backend?
- Do you have data validation on the backend?
- How do you store your data?
- How do you collect metrics and stats?
- How do you store and manage logs?
- How do you test? Unit, Integration, Generative testing?
- How do manage infrastructure?
- How do you provision your machines?
- Do you use containers?
- What is the deployment model?
- Do you use any orchestration platforms? K8S ?
- How do you CI / CD pipeline look like? Jenkins / Gitlab actions / Code pipeline?
- What cloud providers do you use?
- Do you use your own machines?
- What is the onboarding process?
- How does the interview process look like? Pay attention to details.
- Do you have any internal activities and events?
- Do you have exploration days? Hackathons?
- Do you organize / support meetups?
- Do you support open source projects?
- Do you provide training programs?
Make sure you did your homework preparing for interview:
- Get as much information as possible from public sources
- Contact people from that company directly and ask question about current situation
- During interview take initiative and ask questions that are important for you
- Pay attention to all small details during all stages of interview process
Anyway, there are so many things but you can ask accordingly to your own preferences.