I recently did a round of interviews with a few companies, and I came up with a list of fun questions for the interviewer, mostly based on my own gripes with my then-employer or things other companies were doing that I didn't like. I caught everyone I asked these to off-guard.
> "Every company gets criticized. What's a piece of criticism your company has received that you felt wasn't really accurate? What about the opposite- any criticism that you agreed with?"
> "Does your company have any policy that enforces a specific minimum number of people let go per time period? IE: Stack ranking, 'Unregretted rate of attrition (URA)', etc"
> "What are the company's non-compete rules? If I wanted to make and sell an app in my spare time, is that allowed? What isn't allowed?"
> "How does promotion and career growth work? If hired, what steps would I need to take to get my next promotion? What holds people back in those situations?"
I got great answers though. I learned a lot about the companies because I asked these to a number of people at each company. Those answers lead me to pick a company that was offering less money, but was a better place for me to be.
> "What are the company's non-compete rules? If I wanted to make and sell an app in my spare time, is that allowed? What isn't allowed?"
I would not be surprised at all if the people interviewing me gave a nice answer and then on day one I'm asked to sign a contract that doesn't match what they said.
Ask if you can see the employment contract before accepting an offer.
To continue working at a company, you are usually expected to sign every piece of paper that they put in front of you throughout your tenure. If you don't, the consequences could range from absolutely nothing, to being pestered every six months, to being kept off a project or not promoted, to being fired.
If at some point you become popular or are seen as critical, you may be able to spend some of your political capital to get around signing some of the papers that you don't particularly want to sign, but this doesn't always work, and you can't always get away with this indefinitely.
An amendment to your offer of employment that tries to prevent you from moonlighting could come after your first day, or after your third month. They get to choose the timing, and the more unscrupulous will absolutely use this to their advantage. They won't give it to you after the first day or week, so you don't just walk -- they'll wait until you've settled in and are more likely to concede in frustration.
This isn't true unfortunately and there are absolutely horror stories of this happening to people. For example at some FANG companies you sign what you think is your regular employment contract and then move on down to the Valley excited to start your new job on the agreed upon terms... then as soon as you introduce yourself at reception just before orientation, you're made to sign a secondary agreement with terms you will likely have never seen before. If you so much as object or raise an issue about it you risk being terminated there and then. There was just such an article posted to HN years ago about this happening at... I want to say Google... but my memory of that is hazy.
Serious question then: do you really believe that they are going to show you “the second contract”?
It seems like the better question is: are there other documents than this contract on which this job depends to sign and can I see them. If yes, can you please put this in the contract.
Yes, good question. It can be more of a demand, even -- before you sign, ask "can you send me all of the documents I will be required to sign along with my contract?" and expect to be given the full run of corporate policy, non-disclosure agreements, etc etc etc. If they won't give them to you, they are hiding something and you shouldn't sign. Corporate policy should be incredibly boring and nobody has a good reason to prevent you from seeing that.
If you've signed a complete contract already, and there are new things to sign, they're asking you to agree to a new contract. Which you don't have to agree to, and if you don't, then anything you've already signed is still in effect. To get rid of you after that they have to resort to the termination provisions in the original contract. Of course "refusing to agree to corporate policy" is typically something that they can terminate you for. So a big part of the law dictating how much they can make you sign later is found in termination provisions. If your original contract's termination clauses are written so broadly that they could fire you easily for refusing to agree to a new contract that essentially rewrites the old one, then there are things you should see a lawyer about before touching it. (This is a much bigger deal than policy changes. I'm talking "no we actually have 10 more onerous pre-conditions to exercising stock options that we hid from you, such that you will find it almost impossible to do. sign here".) Large swaths of contract law are devoted to invalidating terms that say versions of "I can dictate the terms".
So my guess is that the horror stories were not supported by the original contract using likely-invalid language, but rather purely on the threat of messing up someone's new job. Especially if you're e.g. moving for a job, your goal is to sniff this out before you sign. So insist on full pre-signing transparency, get assurances that there are no other documents that are considered mandatory, and watch the responses carefully.
Just ask yourself, "what are the odds a programmer and a recruiter would miss a contract I needed to sign?" Remember, there isn't a representative from the legal department in most interview processes. It's really easy for the people that are doing the interview to mess up stuff like this, because asking to see the contracts is an unusual request, and there's little consequence for them if they mess it up.
Sure, hence you ask to see all documents you have to sign before you sign everything. And make sure your contact states that with signature everything is signed.
There are multiple things to sign. At my company, you sign most of them on your first day on the job. I probably could have asked to see them during the offer stage, but there's no guarantee that's the same document you'll be asked to sign (and likely the part of HR involved in giving you the offer is not the same part of HR that makes you sign the first day).
I asked to see these at the offer stage. They said nobody had ever asked for this before and didn't give it to me. Company with 100k employees globally.
That's not a good enough reason. They want to hire you, they've been through a lot of candidates, spent tons of important people's time interviewing you, and may be paying a recruiter $20k to find you. They can send you a damn PDF. Insist.
Never sign anything on the spot. Always take it home to study it. If there's clauses you have doubts about, consult with your lawyer. Negotiate everything that's not acceptable to you.
You could also being a contract of your own for them to sign. They won't, of course, but it can help drive home the point why you need time to look at the contract.
So you've left your old job, and now want to negotiate? No one's fooled about who has leverage.
Story here not too long ago of a Google employee being let go on his first day because he did exactly what you're suggesting. I'm sure my company would do the same. When you hire over a thousand people a year (let alone thousands), they're not going to modify their efficient procedures for you. It's cheaper to hire another person.
I'm sure they'll let you take the contract home, but your only option really is to quit.
> So you've left your old job, and now want to negotiate? No one's fooled about who has leverage.
Handle it before you leave your old job, then. Do what works best for you.
I have negotiated contracts while already working, and that has worked fine for me. If they back out, I'll find something else. At some point you may notice they won't move any further, and then you've got a choice to make. If this is just another job and there are plenty like it, you quit. If it's a unique opportunity, you suck it up and sign.
But the point remains that you should never sign a contract on the spot. Unless it's really something super standard, negotiated by your union, or otherwise something that you really can't get around. But in every other circumstance, you always have options open. Never forget that.
Some companies do things in stupid orders though. I recently got an offer that had a contract that said the whole deal was contingent on me passing vetting and reference checks. Inside the contract.
Like I was going to sign, give notice at my current job, and if they're not happy I simply don't have a job.
I nope'd out of that process. Their HR was a mess.
Usually there's a surprise contract waiting for day one of a job, after you've left your other job. Yes, you can still walk away, but it's better to review that contract sooner.
If you don't ask to see the contract, it will almost certainly be a day one surprise. And even if you do ask, the legal department, who neither you nor the people interviewing you frequently communicate with, might still have some surprises in store.
I've been sprung with these before. Usually trivial, unenforceable issues, but annoying none the less. The worst was I once even had a background check _after_ accepting and signing. Nothing came up, but that could have left me with no job and no recourse.
How do you avoid this? It's a particular kind of institutional trickery that may not even be intentional but is very frustrating.
As a self-employed contractor, it's quite common for me to negotiate the contract and wait for screening while already working on the project. They still have to pay me for time worked, and if we can't agree, they're screwed as much as I am, because they're already investing in onboarding, and I haven't delivered anything yet.
So there is some room for negotiation, although some things aren't negotiable for them. I've often had a non-compete clause of some sort in my contract, and I've always been able to get its scope reduced, but mever been able to get it dropped entirely. But if you ask up front about it, it's also to their benefit to be honest about it, because hiring you and then having you quit at the last moment because of their lie is not good for them either
The other option is to get the contract signed, or at least seen, before you quit your previous job. If it's a job for which you need to move and dramatically change your life, then you should definitely get some hard commitments from them before you do anything drastic.
In the US employment is at-will, so it's sort of a moot point. Sure they can fire you because of something on your background check, but they could also fire you 3 days after starting because the manager doesn't like you. Short of a serious felony conviction it's unlikely to come up, and if it does discuss it or move on to thousand of other companies.
How would that help? Whether it's written or not, the agreement is as you say, until one party decides to end it.
And even with such an agreement, they might still ask you to sign something on day one. If you don't sign it, they may very well decided to "terminate the agreement" on day one.
If you're fired, you're eligible for unemployment. You're also eligible if you quit your job for a new company but then they rescind the offer. That's basically as much protection as you get in the US, since most states are at-will.
> "How does promotion and career growth work? If hired, what steps would I need to take to get my next promotion? What holds people back in those situations?"
This one's mathematically interesting. Orgs are generally shaped in a way that literally most people can't "get a next promotion" after a certain point.
Something like "what do I need to do to ensure a good review and good compensation adjustments" would at least work better hold up better in managerial roles where "the next promotion" is possibly the job held by the person interviewing you. :)
This one 'what steps would I need to take to get my next promotion?' - this is probably not the right way to ask the question.
The implication is that 'promotion' is kind of like progress you'd see in school, i.e. you get to stage 1, then 2 then 3 with increasing responsibility, experience and comp.
But reality is not like that, the company is interested in creating products, services, making money, and almost all organisations are pyramids in terms of operational structure.
This means that 'promotion' beyond just the lowest levels inherently competitive. Obviously it's political and nobody likes that part, but the reality is 'to get promoted to manager you need to be better than 80% of your peers and to director better than 98% of your peers' and what 'better' means is very subjective, and notably, not everyone gets promoted.
Also, instead of asking about the 'benefit to you' i.e. 'promotion' you might want to put it in terms of the value you can provide, and soften the question a bit by asking about 'career progress' etc. and avoiding the word 'promotion'.
It's a fair thing to ask about, but it's delicate.
I think you and I have worked at very different companies.
In large organizations, typically, promotions come from proving you are working at a given level. It's not a competition at all.
Promotion also doesn't mean "becoming the manager"- I mean promotion to a higher level as an individual contributor. Junior Dev, Senior Dev, Staff Dev, etc.
And the question was very well received when I asked it.
It's absolutely a competition. The thresholds for promotion resonate around capabilities designed at certain thresholds. The organization is a pyramid, they are not going to just promote everyone along a tract, even if it's not managerial.
And, very few companies have seriously well developed tracts for technical staff. There are 'bands' within every company surely, but most of the world is not like the FAANGS in this regard.
I would assume the interviewer is potentially under a non-disparagement clause on their employment contract. So the criticism question might not be a good one.
> Am I allowed to have side projects that I own?
> Does your insurance cover my preferred doctors? (obviously more of an email question)
Your contract specifies that and other answers to other questions. Don't ask your interviewer this question, the only thing he/she can do is rely to HR. Best ask HR directly.
> Why did the person before me leave?
It is unlikely you are ever going to get answer to that and even if you get it, it will have low value.
First, there does not necessarily exist a link between your position and the person before you. If you are a developer then it is more like a pool with new developers replenishing losses over time.
Second, a lot of people do not really know why they leave.
Third, even if they do know, they do not give truthful answer. They might be saying something like "I needed a change", or they might be rationalising it in some way, where in fact they just got a better offer from FB.
Fourth, as an interviewer you might not be privvy to that information officially.
Fifth, even if, by accident you got to know this information privately, I still don't feel ok passing private information especially one that can be basically gossip.
If I'm interviewing with a future teammate, then they should know what the contract is. If the company is so big that they have bespoke employment contracts, then the first interview is usually HR.
As far as the person im replacing, that's more of a poker move to feel out if there is a toxic boss driving people away. Perhaps a better way to do that would be to ask about the turnover rate for the team/department/company?
The contract that the interviewer has may not look anything like the one you are going to get. The only contract that matters is the one you sign.
Every company will negotiate the contract with you and they will frequently be happy to negotiate other things than just your bare salary. There might be things that you care more than others and the company will be happy to provide you with.
A lot of people treat the contract as a formality. Don't. The contract is there for you to feel safe and for the company to get what they need, too. This is the actual agreement between you, everything you had before should lead to writing down what you figured out in form of a contract.
As to asking for reasons of previous person leaving, I think turnover rate is definitely better question. One that can be followed with an actual discussion about the reasons for this or the actions that are being implemented, etc.
You're right, but I wouldn't want to have a special contract for things I believe should be standard decency. As long as I was in the position to turn down a job that is.
Actually, maybe the question I really want to ask is Can everyone have side projects?
Even if a potential teammate has an overly restrictive IP clause, in my experience a lot of companies are genuinely using boilerplate, never thought about it much, and are happy to redline to "Company's IP if on company time / company equipment / directed by company". I don't think it's inappropriate to bring it up with a manager, but I wouldn't trust any answer until you get to contract negotiation.
Unless you're at the strange faang companies which do intake without finding you a team first: one of your interviewers should be your like manager, who can get these amendments made to your contract, and should know the answer.
I personally believe manager should be hiring their team. If only for the candidate to meet the manager and have a chance to make their decision based on the fit.
But I also was many times asked to stand in for another person. Maybe the manager was very busy and he trusted me I can do good job?
In any case, if you go for a large company and for a long haul it is likely you are going to be changing managers (but still it is good to get to know the first one).
This is one of the problems with a company my friend is at. They do intake without preference to a specific team. They also do re-orgs every 3 to 6 month, so even if they did, the team you interview for might not exist for long anyway. He's on his third team in less than a year. People randomly get moved around due to dysfunction, etc.
I thought that way before my current job. I learned the error of my ways. In companies like mine, you'll get a Linux account on a server, and will not have root privileges. So you're quite limited on the SW you can easily install (try installing Emacs with all its dependencies from source).
Since then, whenever I shifted teams, I'd pick ones where I don't have to use Linux. At least I can customize my Windows laptop easily, and Emacs works just fine on it.
My windows laptop is "managed" in terms of forced IT updates, etc. But I can install whatever I want and have Admin privileges. They do scan the SW and if they see obvious problems (installed a SW that is not free for commercial use), I'll get an email about (show proof that the team purchased a license).
I can't make deep changes (e.g. reinstall the OS), and would likely get in trouble for disabling the antivirus, but there hasn't been anything I wanted to do on it that I couldn't.
This really bothers me when I see it. I've had coworkers who used Linux. Like you say, IT mostly left them alone. They had root and were free to install anything. That seems like a huge security hole. Keeping Linux, especially desktop Linux, patched is non-trivial, and I wouldn't leave that up to the average web developer.
Even if you're allowed to use Linux, you still end up getting a Mac to support your coworkers. I suppose I can be grateful that Docker Desktop is slowly fading away. Sadly Homebrew is too essential to die and the ${g} prefix remains for random commands.
> I suppose I can be grateful that Docker Desktop is slowly fading away.
May I ask why you're grateful? I'm pretty inexperienced with Docker/Kubernetes/containers in general. So there's probably a good reason I'm unaware of.
Docker Desktop was nice for me to run the one or two basic things I needed. I've moved away due to the licensing changes, but I'd like to understand why it was a problem.
MacOS Docker had performance problems and odd limitations because it was really a Linux VM under the hood (Darwin can't run containers) and any host passthru stuff needed that additional hypervisor translation, which wasn't always perfect either.
People raising bugs against "production" wouldn't tell you that they found it their Macbook so you'd go on a wild goose chase thinking it was a real issue and not simply MacOS sucking.
Alternately, you'd write a script to do something (flash hardware, etc) and it wouldn't work because Certified Real UNIX(tm) doesn't have /proc or /sys. Now you're asked to port the script to Mac, which depending on the task might be wildly more difficult, but if you don't willingly bash your head against Apple's hatred for low level hacking, you're not a team player or something.
My favorite question as an interviewer is "What's your favorite OS of all time and why?"; the what is almost irrelevant and there are no right or wrong answers, but the whys are always useful/interesting (my favorite is probably a guy who raved about AIX's apparently amazing backup functionality).
I raise you a "I like SuSE Linux because it's free". To this day I don't know what to make of this answer. But that was only one of many answers that led to us not continuing with that candidate.
That day I changed my stance "there are no wrong answers", but I've also asked this in the past and it can yield some good conversation material.
This is probably just a personal thing, but that just defines which areas of our industry I probably don't want to work in. And WSL isn't helpful, because the goal for me isn't "run Linux", but "don't run Windows"; WSL won't save you from MS forcing updates down your throat, changing your browser to edge, spying on you, and sticking ads all over the system.
> WSL won't save you from MS forcing updates down your throat
There was only one corporate laptop running windows 10 I've encountered during the pandemic that does not use policy to disable automatic updates and that is Microsoft. In my experience, everyone who pays for Windows Enterprise blocks automatic updates.
I think Windows Home still can't into Hyper-V and therefore you have to go through hoops to install WSL 2 and docker, right?
Windows Home doesn't haven proper access to Hyper-V, but installing WSL 2 is relatively easy (and documented); Microsoft made special provisions for that. You can't use Docker to run Windows containers, but Linux containers (using WSL 2) seems to work fine.
One of my former coworkers who's an absolutely huge Apple guy recently left for another job. When I asked him whether he could use a Mac he told me he didn't know and hadn't asked ... he must've really wanted that job. Or really hated his old one.
I'd take a job that let me use Linux, but I too am a Mac guy at heart. I had a short stint on Windows not long ago and hated it. Where I work now they'll give developers Macs by default, though getting blanket approval for data scientists has been an uphill battle, stupidly enough.
Wsl 1/2 are quite painful, but the issue is also windows, you might get a wsl3 that is good and it would still be surrounded by windows, i would still tolerate windows but Microsoft isn't offering windows to you as a product that gets out of the way, doesn't touch defaults, doesn't show you ads on the desktop etc, it's using a software to push on you other stuff, so nein
So there are many companies and many projects and i don't work with any Microsoft technology, for me it makes sense to just dodge any company that doesn't allow me any kind of Linux on daily driver, it's just that for me it makes sense, it's not a huge effort, it's not a huge sacrifice, it would be a sacrifice accepting a job with windows/mac when there are many more on linux
I also run windows 10 and have never seen a single ad, anywhere in it. Definitely worth noting that this is on a homebuilt computer, and I paid for a windows 10 pro license. Definitely seen ads on my wife's store-bought windows 10 home laptop.
Tell me you don't use Linux without telling me you don't use linux
Wsl is pretty terrible in my experience. your better off using a vm you manage yourself. Every vendor has shared folders. Each one can use a x server to display programs in your windows window manager.
Oh please. Tell me you are a Linux zealot without telling me you are a Linux zealot. Its a tool in the toolbox. I use Linux everyday on servers at work, two desktops at home, and servers for my partners businesses.
My main personal notebook is a windows device w/WSL and my main work notebook is a MacOS device, because at the end of the day, I need my computer's to just work, painlessly.
WSL is great for alot of Linux userspace stuff and is a fantastic CLI for interacting with and managing remote servers, alongside the ease of Windows. Of course it's not as performance, and had some edges, but I happily accept the trade-offs due to great driver support and the flexibility to run almost any software on one device.
"better"? Every tool has pros and cons and tradeoffs. I run Linux, Windows, and MacOS. Each one has it's pros and cons. Each is the "better" tool depending on the need.
The same goes for programming languages and engineering problems. I train my team to identify multiple possible solutions to a problem then identify pros and cons and then pick the solution that optimizes for the most important goal. There is rarely a "right" solution.
There is rarely a right solution but there are always wrong ones. Searching for pareto optimal contours is great but implies the existence of pareto pessimal contours where N poor solutions combine to make something maximally rubbish.
Software dev is not in a design space where all things are broadly equivalent with small pros and cons to choose between. It's more a discontinuous surface with orders of magnitude of cost/benefit changes as one meanders over a given cliff.
File system performance sucks. No fuse support. No direct hardware access. I've experienced stability issues with it. Don't get me started on the networking or custom init put in by Microsoft. Systemctl calls don't work.
It is most definitely not just like regular Linux.
I actually used it pretty extensively for years before I figured out it was causing more friction than it was worth. It's convenient, I'll give you that, but again, it's objectively worse than the other tools available. You should try them.
There's a couple ways you can do this. The latest revision of WSL lets you run Linux gui apps that appear in a x server window, and you can pin them to the taskbar/start menu. That is definitely using a built in x server.
Opening vscode in windows and opening the Linux vm's file through the "filesystem"(it's a network share) is unstable. You really have to open vscode in Linux, or run it in windows and ssh into the virtual machine for it to work well.
When I was on Windows I did try WSL, but I had problems with the corporate VPN/proxy. IIRC I essentially had no network connectivity from the WSL side.
Edit: Thinking about it some more, I believe I was able to get WSL1 to work but not WSL2, unfortunately.
I was hired to create a software department in a well-funded , but "old" hardware-oriented company with ~100 employees. In retrospect it's "funny" how much time I spent trying to get the company to accept that developers should be able to use e.g. Linux/Mac, rather than Windows. It tooks several weeks of actual time spent. Insane.
I got there eventually. It's one of those things you don't expect, having worked with smart and flexible software people your entire previous work life. These hardware people were smart, but also incredibly "square", for the lack of a better term. Everything was so insanely rigid.
So much more to tell, but in general: be aware that hardware company culture is very, very different. I don't think it's possible to change the culture unless you change the CEO.
There are a lot of companies that are absolutely Windows only shops. There are also lots of tech companies where everyone gets a Macbook and that's what you use, although I suppose you could use Linux if you're able to hack up the dev enviroent to work yourself.
I remember vividly interviewing for a Bay Area tech company and asking about their policy on side projects and open source contribution, and the interviewer got really cagey and basically said he didn't know but don't worry too much about it. Got rejected for the role and surprisingly the recruiter was very forthcoming about the reason: Don't remember the actual words but he said that my interest in working on side projects was a red flag and showed I wouldn't devote 100% to the role. Leadership apparently insisted that candidates asking about these kinds of things were not good fits.
I feel I really dodged a bullet there! Thank you, anonymous recruiter for being unusually candid in post-interview feedback!
This happened to me in 2020. Interviewed and they said that the previous person left for a more creative role. I was told I’d be lead and have the authority to steer the product to get them ready to release games in 6-12 months. They lied about everything, I was told day one that I wasn’t lead, that I wasn’t gonna be doing the job I was hired for, and that I’d have to get their broken game engine (that they didn’t own) in a state to ship games. It was the longest 6 months of my life.
A lot of these questions touch on important topics, but I think there are too many of them and they are far too specific - to the point where you might be inadvertently signaling some kind of unreasonable inflexibility ("you better be using a particular bug tracking system or else I'm out!"). I'd suggest generalizing and combining many of these. Asking the interviewer to walk you through the development process can be more revealing and is less adversarial than a rapid-fire of 30 questions.
Also, the likelihood that a candidate will be informed of any non-public plans to sell the company are slim...
Yeah they kind of run the gamut from "you can look this up on LinkedIn" (company size) to ones I'd defer to the CFO "Any plans to sell?" where I doubt you'd get an answer.
One thing I'd add -- don't be afraid to ask the company recruiter questions too. They should know about the training/conference budget, dress code, etc. That'll make better use of your Q&A time with the hiring manager.
There's a few that are very specific to my future travel plans and my height, but the vast majority are potentially useful for everyone.
Note that my goal is to _get answers to these questions during the interview process_. I do not expect to sit there and ask _all of them_ in a single interview. In my experience, quite a bit of this comes about naturally. For example, I'll often find out about their dev process, tech stack, tools, and so on from the technical questions they ask me, and the conversations those questions lead to.
But my goal would be to have satisfying answers to all of these by the time I'm making my decisions about whether to accept an offer.
That piqued my interest enough to look through your questions. They are all great, but I didn't find anything related to height and can't think of any I would personally ask. (Ergonomics? Business class travel?)
> How is work travel handled? Will it be an issue if I want a somewhat more expensive seat for legroom?
I'm 6'7" (200cm), so flying in a regular economy seat is horrible for me. I want to make sure the employer won't balk at me paying extra for an exit row or premium economy seat.
For me, even visiting an office once or twice a year by plane is enough to make this important. I also have knee issues. I really can't tolerate being jammed into a regular economy seat for any length of time.
I would also note that premium economy is usually 30-60% more than an economy seat. Typically this amounts to maybe $150-300 per trip, so I'm not asking for a huge amount of money here!
For this job, I asked all my interviewers (from my immediate manager to the CEO) what direction the company would be taking in the next few years: what are they focusing on at a high level, and what's the roadmap?
Very informative. A lot of people did not have pat answers, and had to search their souls a little bit. I got different answers from everybody, but the same broad themes, and I interpreted that as meaning everybody was on board for the vision, but that there wasn't much top-down direction on how to get there. To me that was a plus, and it turned out to be the case.
It also gave me an idea of what I'd be hired to work on, and what I'd be working on after that. I recommend this question!
Don't wait until the end to ask questions, ask them throughout the interview. When the interviewer asks, are you familiar with X, respond and then ask if that's something you'll be using on the job. If you're familiar with X, ask more about their implementation of X. By asking questions, it seems like you've got a lot of options and are looking for work that interests you, not just trying to qualify yourself to the interviewer.
It also makes them feel like they are already working with you because that's what a good employee does when a manager gives him work: he asks questions about it throughout the process. He doesn't wait until the end when the manager says, do you have any questions?
I did some interviewing recently and took a bit of a different approach. I remember reading somewhere about the idea of taking interviews as a casual conversation to establish wants/needs instead of taking turns to interrogate. I just spoke with the people interviewing me like colleagues, talked about technology frankly, asked questions when they popped into my head, and it turned out pretty well. It wasn't calculated but rather the opposite - I just behaved like my normal self and ended up with an offer.
A lot of these questions don’t really matter and are a waste of time.
The only real questions to ask imo are:
1. How is performance/promos determined?
2. How are peoples interpersonal skills in other teams?
In the first question, look out for cues regarding inefficiencies or resentment about the performance process.
In the second one, the interviewer can discuss whether people are cooperative or assholes without being too specific about their own team dynamics.
That’s pretty much all you can expect a random employee in a company to be able to provide accurate information about.
The questions about wfh policy and org structure are best left to the recruiter.
The other questions about learning opportunities, flexibility of roles, working hours and how people get along are just going to be met with drivel about how the company is the best place to work at on all these categories.
Your questions don't matter as well, I couldn't care less about those. The only real questions that matter are those that matter to you (the applicant).
E.g. I always ask about working hours, their flexibility and make sure the counterparty understands well I don't crunch or overtime unless on rarest occasions. Because those are the things that matter to me.
Like I said, ask your recruiter those questions, not the interviewer. I have interviewed 100s of candidates personally and you can only comment about your own working hours and the flexibility of your team, not the company.
The other questions I stated give you information about more than just the immediate environment of the interviewer.
If those aren’t questions you care about, that’s fine. Though I find it impossible to believe you don’t care about the way your performance is measured or whether you will be working in a hostile environment. If you care more about the flexibility of your working hours than that, more power to you.
One general rule I've come up with is when your interviewer mentions values of the company, ask for examples.
For example, it's common for a senior manager to say something like:
"We value input from all of our employees, ideas can come from anyplace"
For this just follow up with a sincere:
"That's something I really value too, can you give me an example of when someone who was not in a leadership role proposed a solution that influenced a major decision?"
I've found this surprisingly effective at finding out which values are real and which are bullshit. When it's real, you'll get answers like "certainly, why just last quarter Jen in customer support noticed..." and when it's BS you can immediately tell because the interviewer will freeze completely.
As an interviewer, I've been on the receiving end of most of those questions (or some variation of them). It's a pretty reasonable list.
One thing though is that most interviewers don't leave a whole lot of room for a barrage of questions so you really need to pick the two or three that you really want the answers to. For example, you probably don't want to waste time asking explicitly about version control at a company that you know does open source on github. Open ended questions about engineering culture will give you a much better picture (e.g. what's the story w/ tests or deployments or design autonomy or whatever).
Or, what you can do in addition is ask the recruiter (or whoever the first point of contact is) if you could spend 30 mins to talk to someone on the team, outside of the interview window, just to have a casual chat. Some companies have this arrangement setup as an official transparency program, others are more than happy to arrange it informally.
Pre-covid, we’d take the person to lunch for a 1:1 or 1:N for this purpose. Those were often very informative. They were meant to be casual, though one candidate (out of hundreds) managed to fail based on the lunch interview alone. If it’s possible, people will find a way, I guess!
Great list of information anyone should know before accepting an offer.
As a hiring manager, I'm usually one of the first people new candidates speak with (perhaps right after briefly talking to a recruiter). Generally, I want to make sure candidates have all this information within the first interview or two. These days, I tend to open my interview with an opportunity for the candidate to ask any questions about the role and company that weren't answered by the recruiter.
I also try to leave time at the end, but I find that there's often so little time at the end, that it's better to start with any questions.
Same here. Nowadays I usually do "reverse interviews" and have the candidate grill me and ask me questions. After all, there's a ton of tech jobs and the power is in the hands of the candidate; their questions should come first.
Some folks are surprised by this and I often have to help them along, but that's cool -- it is a bit different.
Important is to curate your own list based on the company and role. In the posted article there wasn't many cultural questions and I'd certainly add those (why do people typically enjoy working here? examples of tough situations the team or company has been through? What are the company values (does the interviewer even know?) and how are they important or not day to day, etc...) also probe on your managers management style (or you might end up hating the job) as well as ask to speak with future colleagues (in everyone's interest). Be prepared to be quizzed on why you're asking your questions (after all there has to be thought behind it). And for interviewers - many time the free dialog and understanding what's top of mind for your candidate is as important than the scripted questions. In fact I start off interviews saying we both need to get to know eachother in this session, and if there are any burning questions or things they'd like to know already? (that way I can see how much they've thought about the role and what's in their mind before they've had a chance to analyse the company or myself too much and maybe get a better picture of the candidate).. oh and my favorite question to the interviewer (even if it's me) is "If you had a magic wand and could improve one thing about the company what would it be?" - hard not to get some interesting insight into the company with that one.
These examples are weak! They're common questions asked over and over... Things you can just look up if you use blind, levels.fyi, glassdoor. "What's the size of the company?" Come on...
Don't burn your time with filler. Instead, make yourself stand out in the last moments:
The questions should be softball, but detailed and enjoyable for the interviewer to answer. Allow them to paint the role and company positively. i.e. don't dig into Google's stance on user privacy.
Use questions to show your enthusiasm-- that you're here for this job and not a job.
You should do research on the company and interviewer before the session. What they are involved in? (languages, concepts, methodologies). Usually blogposts, GitHub and LinkedIn content is useful.
Try to impress the interviewer with your knowledge about said role, company, or relevant topic. Mention a change or new beta product you've been testing. Ask for their thoughts on something you know they like to talk about.
Examples:
Does google have plans to expand the usage of Go in their cloud stack?
What benefits were there after switching from Borg to Kubernetes?
How do people get new ideas get onto the Pub/Sub team's radar when they are busy shipping features at breakneck speed?
How did the team architect the new protobuf API while maintaining compatibility with the old one?
- How technical is the CEO? Can/does s/he program? Ph.D. Degree? If the answer is anything yes to the former it bumps up by ~10% the salary expectations (12% if she's a music major).
- Who (name and function) does the group (my boss' boss) report to?
- How's internal accounting structured: is this division a profit center or a cost center (if cost center, bump up amount by 25%)
- What's the philosophy behind compensation? Somewhere serious will use a stock based comp. If they don't, or tell you it's not in the local customs, maybe they would be more comfortable with your consulting rates.
The rest (how they raised money) you should already have a pretty good idea before walking through the door (pitchbook is your friend or just ask around). Free drinks and admin rights on workstations are a given, of course, for any serious offer.
During my last batch of interviews, I was salty when one of the companies I interviewed with asked me the "Super Egg Drop" question, I actually don't mind LeetCode type questions in interviews but that super egg drop question is so ridiculous that as soon as I heard the question I knew they didn't wanna hire me. So at the end of the interview I asked my interviewer to solve a LeetCode hard (Alien Dictionary) as a laugh. The interviewer did not see the humor in the situation.
I like these and find them wise. Here are some additional fun questions:
1. How has the company changed in the past five years? How do you think it will change in the next five?
2. What was the biggest surprise about working here?
I like these because they force the interviewer to activate their brain a bit and really highlight differences over time and differences from expectation. The surprise question especially helps you figure out unknown-unknowns as a candidate.
Thats a good list. The questions are pretty specific. Interviews are 2 ways. As an interviewer realize the applicant can reject the job if they don't feel like its a good fit.
I've asked a couple questions the past few interviews when looking for a job:
- What do like about working here.
- What could be better, or what are the pain points of working here.
I got an interview scheduled with Meta/Facebook, for monday (14th Feb 2022). Their careers portal has a lot of sample leet codes, I'm not even able to do the level 1 puzzles. Sure going to bomb the interview with live codinng session! Sigh... this would have been a life changer for me
Yes of course, I'm not going to stop trying. Though my hopes of clearing the interview just hit 0%. I'll keep doing all preparations I can nevertheless
A few questions I've been asked by interviewees that I really liked:
* What's your favorite thing that you've accomplished so far in your current role?
* What's a recent challenge that you personally faced? What challenges are you/your team/division/company/industry facing in the next few years?
* How does your team make big decisions (the article goes into this a bit, but I think it can be helpful to be explicit about whether engineering/PM/sales are on the same page)
* What time did you start work today? (Corollary to "what's a typical day like?", and a good segue to culture type questions)
- Can you give me an example of when a project took a major turn in another direction, and what was the cause of this change?
- (if applicable) How many heads is this role expected to support?
- What was the team's last achievement recognised by the whole company?
- When was the last time the team performed a disaster recovery exercise?
- Can you explain the process of "idea to feature retirement" starting with the request from the product owner?
I've got hundreds of questions from interviews over the years.
Usually a candidate will not have enough time to ask all these questions. My usual approach is to pass the interview, and then ask for a reverse interview. Of course, we don't have to use the term "reverse interview". I just ask politely if I can chat with two or three people: a member in the team, the hiring manager, and the skip. In such reverse interviews, I also do deep walk-throughs, such as how an engineer deploys their code to production, or how they mitigate an outage. It tells you a lot about the company.
This is an awesome list! I always recommend every candidate I have interview with to ask as many questions as possible because with an interview both parties need to understand whether it makes sense to enter into an employment agreement or not.
Thanks to my questions I doged some bullets when I was on the other end. Trying to understand if the company is a good fit for you is as important as it is for them to check if you're a good candidate.
This is probably too involved to be a question for your interviewer, but I kinda want to ask, "Imagine you have multiple instances of a production service with different 90% latencies, how would you measure the overall latency of the service?"
A surprisingly large number of SWEs are really bad at statistics, which is kinda necessary when you're asking whether a service is fast enough.
You can't average percentiles - it's not mathematically meaningful, so your number will move depending on random details. E.g., if you changed your load balancing algorithm, and then observed the number go down, you can't conclude that latency was improved, because you changed how the requests are aggregated and it affects the result in random directions.
(You may get a usable number if all servers are more-or-less equivalent and events are randomly distributed, but then you're basically assuming the thing you want to validate.)
I'm not an expert but I know two correct ways: collect the records of all individual requests and compute 90% just once on the whole set (doable if there aren't too many requests - modern machines are quite powerful), or generate per-server histograms which can be merged safely.
I always ask “what’s something that you hate/really don’t like about working here.” It’s been instructive in revealing what people don’t like about their companies. In my current role my interviewer’s response had more to do with the immaturity of the company (we don’t have x) yet, rather than bad things that happen. It was indicating to me that it was the right place.
A question I like to ask, and have gotten some great answers to, is:
> If there was anything you could change about <company>, whether or not it is in your control, what would it be?
It has been effective in getting an idea of some of the problems that might exist organizationally - it might not be the worst things, but there's always something.
> Who supports the product once it's released? Pager duty? Monitoring email?
and this
> Typical working hours? Flexibility? Crunch times?
In my experience it’s a huge mistake to leave such questions in its vague form as the author has shown in his post, especially if you’re living in a third world country like India where the managers and centre heads often project “getting engineers to work at any hour” as one of their USPs to their bosses, who are - very often - CEO and CTOs in USA and Europe where engineers cost more and often refuse to work absurd hours (rightly so).
Rather ask specific questions like:
- clearly state your intended normal working hours and ask whether there’ll be a problem with that.
- what is the on-call frequency (if there’s one)?
- what is the on-call hours going to be for you whenever that happens?
- Is there a follow the sun policy or not? (It’s a red flag if the product is used around one timezone and engineers mostly live in another, far from it)
- ask whether there’s any requirement to have an app like PagerDuty active for your phone number or needed to installed on your phone and would you be expected to be reachable also during other than your “normal working hours” and your “scheduled on call rotation” whenever that happens?
- The point above is very important - my last manager tried to soft bully/pressurise me into activating pager-duty for my personal number 24x7 saying “anyway the call will be at most 2-3 times a quarter” (and I knew he was probably right) and “others are doing it”. Luckily he was my hiring manager also and I had already discussed all this with him - I confronted him right then!
- ask clear questions about how often you’d be asked to attend “scheduled/recurring” calls out of your normal working hours.
You don’t have to be available 24x7. You must not - under any pretext! You are made to do that only because you end up saying “yes”.
If you can, ask this questions on email preferably to your hiring manager keeping recruiter in CC - at least I do that.
Out of 7 verbal offers I had said yes to (around a year ago) 1 company demurred from issuing the final offer letter after these questions, others were very open and candid about it and didn’t mind at all (at least in the mail).
Goldman Sachs clearly mentioned I’ll be required to be ready whenever needed, others were reasonable, Cisco was semi reasonable but seemed skittish to me, Uber flat out lied which I later found out (and hence I left within a month).
I recently began looking for jobs again and had my first interview in about two years today. It’s nice to see some conversation on this particular topic.
Does anyone have ideas on when one may be asking _too many_ questions to an interviewer?
I recently saw a great question that is generally applicable to all types of job:
"When you think about the person in this role doing really outstanding work in the future, say, one and five years from now, what does that look like to you?"
Out of the classical screwed up interview questions that people ask I think "where do you see yourself in 5 years" would be a pretty good one to hear the real answer to from your interviewer.
That's a good question to look for, as it indicates a really stupid and unimaginative interviewer. One should regard it as a possible symptom of a dull management staff. It's also a good one to turn around on the interviewer: "What have you been able to achieve here in the past 5 years?"
on the one hand, yes, but on the other I think that would be the one to get me thrown into the smart-ass pile, probably though I have an intrinsic smart-ass delivery so I have a hard time imagining asking that question and not offending whomever I asked.
I think the most telling questions are about attrition - "How many people have quit your team in the last year?" If it is more than 1-2, this is a huge red flag.
and there I was, thinking this was going to be a list that a guest on Fresh Air (NPR/USA) ought to ask Terri Gross, to break the usual one-way flow of questions.
Ah, HN, where "interview" always means "job interview" and "dependency stack" always means "for your web project".
"Do you see this watch? Genuine rollex. Do you know what it feels like to own one? Probably not, because you don't work for me yet, so you can't afford one".
This is nice as a casual social question, but it isn’t related to the job and shouldn’t be relevant. If your goal is to understand if all they do is work, asking about working hours is more to the point.
> "Every company gets criticized. What's a piece of criticism your company has received that you felt wasn't really accurate? What about the opposite- any criticism that you agreed with?"
> "Does your company have any policy that enforces a specific minimum number of people let go per time period? IE: Stack ranking, 'Unregretted rate of attrition (URA)', etc"
> "What are the company's non-compete rules? If I wanted to make and sell an app in my spare time, is that allowed? What isn't allowed?"
> "How does promotion and career growth work? If hired, what steps would I need to take to get my next promotion? What holds people back in those situations?"
I got great answers though. I learned a lot about the companies because I asked these to a number of people at each company. Those answers lead me to pick a company that was offering less money, but was a better place for me to be.