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.
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.
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.
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.
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.
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.
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.
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.
> 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.
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.
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!
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.
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.
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.
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?
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!
"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".
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.
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.
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.
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.
- 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.
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.
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?"
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.
- 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.
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.
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!
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.
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.
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.
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.
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.
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.
> "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. :)
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.
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.
182 comments
[ 2.3 ms ] story [ 260 ms ] threadhttps://github.com/lkostrowski/job-interview-questions-to-as... https://github.com/viraptor/reverse-interview
Am I allowed to have side projects that I own?
Am I allowed to contribute to open source from work? ie bugfixes for libraries we use.
How many meetings are there in an average month?
Does your insurance cover my preferred doctors? (obviously more of an email question)
How strict are the requirements in whatever tracking software we use (jira,rally, etc)
How many required programs are there? Outlook? Slack? Teams? Jira? Timesheets? Confluence? sharepoint? skype? etc
How locked down are the computers/network?
Am I able to use whatever development tools I choose without asking permission?
Why did the person before me leave?
Am I able to use Linux?
This tells you a lot about the company. I avoided some Windows-only jobs in the past :)
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.
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.
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 startup is mostly Windows, but that's because we're doing AAA game development and still have some tooling that is Windows only at this stage.
I find that with WSL2, I can do everything I need. A fair bit of my day is spent in emacs.
I was hoping you were going to follow that up by saying you're working on a robot to clean vertical glass.
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?
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.
VSCode can run from WSL2 and have access to its file system
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.
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.
Your right about it being a tool. A tool which has better alternatives.
A virtual machine running in virtual box or some other vendor's VM has literally none of the limitations that wsl2 does.
WSL 2 Doesn't fully support all userspace stuff, I bump into that all the time.
You can ssh into other boxes using PowerShell.
It is objectively bad compared to the alternatives.
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.
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.
I use WSL everyday and it’s no different than using native Linux. What’s so terrible? It’s easy to setup and easy to add to windows terminal.
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.
Vscode renders sharply without having to do extra work.
Both wsls are reasonably enjoyable. Much better than ssh-ing to a Linux host
I don't think vs code is running inside the wsl environment directly.
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.
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
Edit: Thinking about it some more, I believe I was able to get WSL1 to work but not WSL2, unfortunately.
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.
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.
Windows = managed, user account, pain (sometimes exceptions for developers, sometimes not)
Linux = you have root on your machine.
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.
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.
These days half the job is convincing the candidate to accept an offer if it comes through.
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?
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.
They lied about that too.
Actually, maybe the question I really want to ask is Can everyone have side projects?
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).
They just lied to me. That was a painful year.
I feel I really dodged a bullet there! Thank you, anonymous recruiter for being unusually candid in post-interview feedback!
> 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.
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.
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?
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!
1) My immediate manager was dressed in incredibly expensive clothing in the interview, 2) He said we didn't need Linux, we could afford to use Mac.
Barf
"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".
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.
They're been pretty honest about those things.
1. How does budgeting work with your group? Who controls the budget they get?
2. How are priorities set on the team?
3. Who is the customer of your team, not your company but your team specifically is it sales, ops, finance, etc?
It comes from the idea that if you can discover the incentives you'll be able to deduce a lot more about the position.
Feel free to check them out. They also include questions to ask the recruiter. I hope they can be of use.
https://github.com/pmulard/interview_questions
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.
Some folks are surprised by this and I often have to help them along, but that's cool -- it is a bit different.
What do you do for fun after work?
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.
1. What - from all the things you have accomplished while working here so far - are you most proud of?
2. What did they do for the last social outing?
(Look for their face reaction as they answer the two questions. If they look surprised, or don't have a good answer, you may want to look elsewhere.)
And, if not already covered in the interview (which they really should):
- How technical is the CTO? Can/does s/he program? Ph.D. Degree?
- Who (name and function) does the group (my boss' boss) report to?
- What does the company do for training its people? Is there an annual budget?
- What is the attrition rate in the team?
- What is the career path anticipated for the role under discussion?
To better understand the attrition rate:
- Who is the team made up of - internal transfers or external hires?
- How long have the current team members been on the team?
- When was the last time someone on the team was promoted?
Delving into career trajectory and your questions about training:
- What does the path look like in 3, 5, 7 years for this role?
- What leadership opportunities does this role lead to?
- Will my professional goals be linked to the company's goals?
- 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.
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.
"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?"
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.
Here's the full list - https://gist.github.com/autarch/6e7e25e85db62a359f91aa090033...
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.
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!
> "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.
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.
I'm a bit puzzled by this answer. What's wrong with:
"I read the contract and I don't like the terms sorry"
However I doubt it's easy to see a contract before signing offer.
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.
How do you avoid this? It's a particular kind of institutional trickery that may not even be intentional but is very frustrating.
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.
And yes you can move on, but you're still in an unnecessary position (looking for work while not employed) through no fault of your own.
Then I got radio silence, could see all the checks passed on their end. Didn't end up signing, kept my current job.
Glad I refused. I don't want to work for any company that tries this bullshit.
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.
Let’s look at it from a different angle. One does not file a resignation before receiving a countersigned copy from the company.
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.
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.
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.
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.
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.
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.
I'm not disagreeing with you. Set your boundaries. Just be aware that this will preclude you from working in many big companies.
Corollary: continuing employment may depend on adherence to policies you don't control, regardless of prior agreement.
Not all law is contract law, and this remains true of employment law.
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.
The developers have no reason to bullshit me. And they didn't.
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.
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.