Imagine this scenario among engineers working in the tech industry:

You get called to be interviewed by this big brand name company which prides on changing the world, offers everything from feeding you lobster bisque for lunch to walking your dog. You brush up your sorts and traversals and recursions and regurgitate it on the whiteboard when grilled by an interview loop panel for hours over the course of a day. You manage to impress everyone and you land the offer!

Your ego is through the roof, you family’s hearts are swelling with pride and you are the envy of every ‘liker’ of your job change status on Facebook. The first few months are blissful, you love the high-end hardware, the well-stocked fridge with organic snacks and drinks and the extravagant company morale events.

But as the days go by, things start hollowing out. You don’t really feel connected to your work because it’s usually something uninspiring such as fixing someone else’s work or working on some logging framework for some internal component which eventually dies because your division got re-orged for the tenth time. Your manager is spending more time managing his/her own career than looking out for yours. Whatever interesting meaty projects that come up are quickly scooped up by old timers in the team leaving the rest of crumbs of grunt/uninspiring work on your plate.

How did you get here?

Most of the times it’s because you didn’t spend as much time interviewing the company compared to the amount of time they spent interviewing you. This is a common oversight I made in the early years of my career and I still see candidates make when I interview them.

They don’t interview the interviewer.

The few hours you get with the interview panel is mutually crucial for both parties for determining whether they both are the right fit for each other. Also, in the current job market for engineers, it’s no longer the employer who has all the leverage so it’s imperative that you ensure you get enough time for asking them questions.

Asking the right questions can help you determine if the job is truly right for you. I have compiled a list of questions I think can help reveal some things about the company, your colleagues, the work culture and help you make better decisions.

Asking good questions also reflect well on you as employers usually hold curious, well-prepared candidates in high regard.

Without further ado, here are some of the questions that I try to ask. If you have more suggestions, please do feel free to add to this list.

Asking the right questions

Ask everyone in the interview loop (not just the management) about the vision of the company and see how well aligned their answers are. This is extremely important as it is telling of a) how cohesive the team is in their understanding of the vision of the company, and b) how well the company leadership explains and re-iterates the vision of the company to it’s employees. Ask your hiring manager what he/she sees you working on in the next 2–3 months. Look for concrete project ideas, details (sign an NDA if they make you). This will give you the best possible picture you can get on how your manager is treating your position. The job description written by recruiters are often filled with hyperbole but putting the hiring manager on the spot with this question will bring clarity out. I once asked this question to a manager and that person was so taken aback that after a few minutes of silence, their response was ‘oh, you know, write tons of code, apis, features…’. Ask the engineers on what they think was the coolest project they worked on in that company. Some will struggle to come up with a convincing answer which means there isn’t much inspiring work to go around. Others might either go on to a) passionately describe a cool feature or product they built or b) passionately describe how they fixed a hairy problem with an innovative solution. In either case, you can gauge how passionate or challenged the engineers feel about their work and how positively (or in the bad case, negatively) it could end up rubbing off on you. Ask everyone what they think is the best thing about the culture of the company. I usually don’t give much gravitas to answers such as ‘ice-cream tuesdays or beer pong nights’ those are recruiter answers. Look for answers which exhibit true indicators or a positive culture such as; transparency in decision-making at management-level, empowerment of individual engineers to make decisions on how to get things done, lack of red-tape, healthy communication between teams, blame-less root cause analysis meetings etc. Ask about the performance review system in the company — how often do they conduct reviews? how are the reviews conducted and the employees rated? Is it a stack rank system? is it peer reviewed? Do raises and stock refreshes happen on a yearly/quarterly/semi-annual basis? Usually smaller companies don’t have an established performance review process and that’s OK but you should know this before you go in as it might mean you shouldn’t be expecting an annual raise. Ask the interviewers, if they could change one thing about the way things are done in the company what would it be? The answer will highlight some of challenges they face in the company right now. Remember, if you accept the offer these are the challenges you will be facing to so might as well try to get as much information out now. Ask the engineers of the amount of time they spend writing code vs. fighting production fires vs. sitting in meetings. It might be tough to get a super accurate picture from the interviewers out of this but any information is good. Ask what are the various levels within the engineering organization and where they are pegging their candidate at? Ask what it means to be at a certain level? How is principal different from senior? Different companies carry different meanings for these titles so it’s important to clarify that before you negotiate for yours. There are bunch of miscellaneous questions that can be asked based on your situation — does the company let you work from home some days of the week? (if your commute is long) does the company have pager/on-call rotation duty for engineers?

Potential Red/Yellow Flags.

Apart from asking the questions you are sizing up your interviewers as much as they are sizing you up. Be sure to pay attention to a few things.

The attitude of the interviewers — are they being rude? arrogant? overly pedantic? are they putting up a blank wall or are they collaborating with you in solving the interview questions? Are you being dinged for a missing semi-colon in an otherwise reasonably correct algorithm? Remember, you may end up seeing and working with these people more often than you see your spouses/significant others/friends, you want to be really sure that you are comfortable with working with them. Are the recruiters and hiring managers time pressuring you to accept the offer if one is extended? Most of the offer expiry deadlines are not real rather a tactic to get you to accept. (Edit: A reader on reddit gave a insightful comment that sometimes offers do have real deadlines usually around the end of their quarter, so it might be helpful to softly ask for the reason of a tight offer deadline). If your manager cannot understand that you need to weigh your options before accepting an offer now then imagine how it will be like working under him/her under a tight deadline?

Now I concede that not all the questions in the world can truly predict how satisfied you will be at your job in the long run. But I think at the very least you should test the company as much as they are testing you.

At the end of the day, always remember that the stakes are much higher for you than they are for your future employer. They have hundreds or even thousands of employees who affect their business but you have only one employer who affects your happiness and well being at your new job.