- 30 minutes of basic theoretical questions: SOLID, design patterns, DDD, clean architecture etc. just to get an overview of what they know and what their experience is, and if we'll have to assign them some courses later
- 30 minutes of a practical task: they're given a very bad piece of code (1 screen), and their task is to review it. Things like: SQL injection, lack of transactions (data consistency), lack of locks, bad variable names, bad program structure etc. The review is interactive where the interviewer can give tips. Usually it gives a pretty accurate picture of their actual experience/skills, and weeds out 99% unfit candidates.
If all is well, there's then 1 hour interview with CTO to check the soft skills: motivation, corporate culture fit, they also negotiate the salary (based on the previous interview)
We don't do leetcode and don't ask to write a test project.
Observations:
- many candidates who are good at theoretical questions completely fail the code review: i.e. they simply memorized it without deep understanding
- there are candidates who are not good at theory but pretty good at spotting most problems during the code review. For us, it's usually OK. It's often good self-taught engineers.
IMO, any strategy or attempt to filter out the "right" candidates can always be gamed that a change of culture is inevitable. Iron Law of Bureaucracy. You can delay it, but it will happen. Just look at Google today despite their massive investments in the hiring process.
I think if you really want to preserve your culture long term, you need to start looking to exporting your culture outwards into general society rather than filtering things in. Try to make the general candidate more like you in the first place.
Every single successful Google product except Search, Gmail and Chrome was an acquisition. The last two almost didn't even get released and the third relied on poaching a bunch of Firefox engineers.
and when they can build things, like google inbox, the project gets shut down for being too productive, decreasing time on site and negatively affecting revenue.
I agree it's hard, but it is A solution rather than no solution. I
just don't think you can "fix" the process with a purely isolationist approach. You either change the world or the world changes you.
Well, frankly, I think your diagnosis is woefully incorrect. Google made 2 very straightforward conscious decisions regarding hiring that are responsible for their current problems:
1. They quite obviously put the bean counters in control. Google famously originally said "they were a different kind of company", and early on, they were. But it was a leadership decision to forever squeeze each additional penny out of their ads systems. I think some people may put the "turning point" as to when Ruth Porat joined, but I think it's colossally unfair to blame her - after all, she did a phenomenal job raising the stock price, which is basically the job of the CFO. But setting the vision and goals for the company comes from the very top.
2. Regarding their lack of ideological diversity, that was also a very conscious decision. I went to a Google hiring event about 8 or 9 years ago, and the hiring manager was very clear that her number one goal was increasing diversity by raising levels of underrepresented groups, and it was stated as a source of pride. Not technical excellence, not innovation, etc. If anything I think that mindset was inculcated at some of the elite tech companies before society at large.
Given how the culture of every company I've ever worked for was a stinking, nasty, high-school environment and how the companies' values did nothing but encourage ineptitude and mediocrity, I'm glad that companies absolutely suck at exporting their culture as much as they suck at building it. Your suggestion will give me nightmares for weeks.
I'd agree that whether a specific culture is worth preserving or not is another question. Change by itself is not necessarily good or bad.
But my point of how internal culture gradually changes is in effect an exportation from another culture to this one. If the toxic practices you are describing were to begin to become relentlessly exported to the environment around you, remaining defensive dosen't work long term. You'd need to push back.
Isn't Google the exact example of "exporting your culture outwards"...?
It popularized algorithmatic puzzles via Google Code Jam way before LeetCode was a thing. I might be completely mistaken, but Google seems to be the one company that popularized free food among SV companies.
And they have a slogan that became a meme, while not necessarily in a positive way.
This is a mayonnaise-spicy take as far as I'm concerned, in the sense that I agree with it entirely.
Once you've read someone's resume you should have a pretty good idea whether or not you want to hire them. The interview should confirm that they can discuss their relevant experience and address any potential concerns that you might have without raising red flags.
Beyond that, if they have deep flaws that you didn't suspect from the resume or the interview, they're probably good enough at hiding them and more interviews aren't going to help.
In the AI/ChatGPT world that we are in, cooking up a neat resume is not that hard. But I agree, you are going to interview someone who did at least that part good, and worked a little hard to prepare for it.
> Once you've read someone's resume you should have a pretty good idea whether or not you want to hire them.
I disagree. The experience in resume is basically a name-dropping, it doesn't tell you much about how much they know / what are their abilities.
As an interviewer, what interests me is whether they have non-surface knowledge about something. I'm looking for a T-shape - getting a broad, but surface level knowledge is not that difficult (often just reading some tutorial suffices), but not everybody can get deep into the topic. So a major part of the interview for me is going through their resume and probing whether this is their deep topic and how deep can they go.
Totally agree. One of the best discriminator questions I've found is to have a candidate talk about a technology they've used in the past, and then talk about the pros and cons of that tech, and also to compare that tech with a competing tech they're familiar with.
Poor candidates say something like "it's all great!" or "it's all awful", which is almost never true. They're unable to go beyond a very surface level "I called this library and it worked" kind of analysis. Good candidates are able to compare and contrast the pros and cons of lots of underlying details.
If you want to see a weird process, apply for a dev role at Meta. They appear to optimize for people who have either memorized leetcode or are really good at cheating. I’m in their process as a pretty senior dev mostly on a lark (I hate the company). I’m pretty sure the only way I could get hired is to cheat. Why would they want to hire folks that way?
It's weirder than that. For Meta's interview, how well you do on preparing specifically for their interview and trying to max out the specific metrics that they're judging you on isn't just tied to whether you get an offer or not but where in the scale they pay you.
They care a lot less about what you've done and where you are in your career, mainly because most of the what and how of the job is fairly unique to Meta.
They want good Meta employees and people who thrive specifically in their culture and not necessarily people with a career trajectory and goals beyond the company.
Turns out that there's a lot of over-achieving types out there whose sole desire in life is to be Good Germans. You will know immediately if this is or isn't you.
Every long-term Meta employee that I know has had their lifestyle grow to match their means and isn't any closer to their retirement than when they started. And in my circles we're talking people who've been there mostly in the 5-12 year range.
In truth I really know just one retired FAANG engineer who put 12 years in at Microsoft until he was put on a team with a bad manager who had it out for him and stack ranked him out of the company. He's been happily working on side projects in the few years since that and sitting on his millions. It also doesn't hurt that his wife is also a Microsoft employee and is still there.
Also I don't know if you've seen Meta offers in the last year or so since their layoffs but they've been absolutely lowballing the shit out of everyone they can justify doing so to.
You misunderstood. They (Google too) are precisely interested in selecting for folks who love drilling on mundane tasks so much that they’ll willingly devote hours upon hours to doing that very grinding you might detest. Because that’s approximately what the next N years of their life will look like…
I recently bailed on their process. My reward for passing the leetcode gantlet would be a 50% chance that the offer would require uprooting my family and moving across the country. Ok, we’re done.
They really need to get their shit together. Even for a few years after the Instagram acquisition and having an established office in NY, they tended to be pretty wishy-washy even with new hires on whether they could work from NY or would be forced to relocate to the west coast and it would take going through their full orientation in CA before you found out.
Now that they have a big office in Moynihan and SWE teams that do operations work they're a little more consistent about being able to work out of the location that you expect, but they still can't seem to always figure this out for sure _before_ you accept their offer.
This is not a very spicy take. A spicier take is that you can hire people without administering any interviews at all. Hire like an orchestra: through an audition process, which, in a work setting, is also known as "work-sample testing". It works a treat.
I had a great experience with work-sample testing once until I had to work with the founder's wife who was an absolute nightmare to work with and was forced to sit in on zoom calls with the investors just because they wanted to be face to face with who they were paying for. It was only then that I realized that my performance didn't mean shit and I was playing an optics game.
The problem isn't the process. It's just like dating. Everyone is lying and pretending to be their best self. Hiring process can't fix that -- you fix it by making employing people and taking employment low risk. Give a generous evaluation period and the option to take walk-away money/severance.
You can never see how terrible a company's culture truly is until you've been there 3-6 months.
I agree. If your organization has the resources for it, go contract-to-hire. 3 to 6 month contractor and then make your decision bringing them on as a full employee.
In practice this almost never happens. Most contract to hire roles don't appropriately pay you like you're a contractor (really should be at least 3x salary) and get worse/desperate candidates who will take an unsecure job with no benefits for 3-6 months.
Real human beings with real responsibilities are usually looking for fulltime work or they're running their own business and charging you for services.
I would like to be running my own business.. have a few times in the past.. but usually run out of money before the next SaaS attempt or whatever is ready and have to find a contract on short notice.
Many contractor orgs provide benefits during the contracting period and pay at least 1.5x salary before the employee comes aboard as a full employee.
Also, as so many others have stated on this site, many people just as talented or better than in silicon valley aren't looking for 500k+ a year because they don't live in a hyperinflated shithole, but that's another topic altogether.
All I can say is salary is relative and nobody should let that go to their head. The economy in the USA, but especially on the west coast has never experienced inflation like we currently have and are in for a rude awakening soon.
My whole point is it's a worse deal at anything less than 3x pay. Three to six months of 1.5x pay just to have to look for a job again and you probably haven't done any meaningful work in the last three to six months?
My brother used to contract-to-hire in the 90s-00s for banks and not even getting issued a laptop for the first few months of a contract happened nearly 100% of the time. Literally months of sitting around writing emails going "I can't do the work you're paying me for because you haven't issued me equipment yet" and that was routine. Or if it wasn't working equipment, it was company accounts/logins. I even did a year of this once with a hedge fund in the early 00s. Once and never again.
Contractors don't get meaningful responsibilities and meaningful responsibilities are how I justify myself (and my price) to my next job. No thanks.
> Three to six months of 1.5x pay just to have to look for a job again and you probably haven't done any meaningful work in the last three to six months?
Hard disagree. They're not really looking to extend full employment to people like you, but may from time to time. If you're really that good you have nothing to worry about. I'm speaking from experience working on both ends of the contract-to-hire process.
If I'm really that good I have another contract lined up already and I'm out the door. The only way you're getting me back is with a fulltime offer after my next contract ends. Or you're buying me out.
Might as well skip the games.
I've been on both sides of it too and I would never hire that way looking for good, experienced people. My experience with people successful at work is that they're successful in other endeavors too such as their private life. Experience also tells me that most peoples' life partners are extremely intolerant of career uncertainty, unless as a couple they are both very young.
> Experience also tells me that most peoples' life partners are extremely intolerant of career uncertainty, unless as a couple they are both very young.
You can but it's pretty naive. The effects of layoffs and non-fulltime employment on families have been well studied with all of the conclusions that one should expect.
I know multiple guys with wildly successful side-hustles, years-long backlogs of clients and more than enough income to exceed their day jobs and their wives absolutely will not allow them to leave their fulltime jobs because they're fearful of the risks of self-employment. These are the kind of men that put their family as their first priority.
If you're only in the business of hiring kids, maybe you're entitled to your perspective but that's not somewhere I'm looking to work.
I'm not hiring kids. This is the world we've come to. I understand your perspective, but have you considered that times have changed? Your most recent reference to this idea is over 20 years ago. The nuclear family, and especially wives aren't relevant anymore.
This isn't even an about inflation. There's an entire cohort you're not looking at and they're about to eat your lunch and so is your wife :D
Similar to what is discussed in the article, this basically optimizes for the most desperate candidates who can't get a job straight out of the gate. For starters, very few people would leave a good, full time job for a contract-to-hire position.
How many talented folks in the field will accept that kind of job insecurity? If my offer is between 500k+ TC or “do work for us until we feel like commitment and maybe you’ll be on your ass in the street doing all this interview bullshit in 12 weeks; maybe you’ll get an offer better than the competition — but probably not because we’ll be in a position of negotiating strength knowing you probably don’t want to interview again”, I know damn well which one I’m taking.
Especially because I was given just that choice a few month back.
Plenty of talented folks will do it as actual contractors taking on projects for a few months at $250-300/hr. I did that for five years and was always open to my clients bringing me on full time for the right price. But the opportunity cost/price of exclusivity is very high.
"Contract to hire" is the worst of both worlds; I've only seen that work for bottom-of-the-barrel employers/employees.
I’ve never tried it, but it doesn’t sound terrible. As I approach 25 years in industry, what does sound terrible is more rote studying for interviews, and I don’t mean just leetcode. The idea of just giving the work a go in situ, and we either like each other or not, sounds sort of refreshing should I find myself job shopping.
I don't know your life circumstances, but as I am slightly beyond 25 YOE, it has been over two decades since I found myself job shopping, just job choosing. There's no way I'd be working my current job and also doing whatever weird contract-to-hire gig some company that can't vet employees would ask.
For most senior people, a new job is leaving an existing cushy job. We're not going to do that for some nonsense like this.
That's the problem with so many attempts to "correct" hiring. Especially for more senior roles, the best people you want to hire usually already have jobs, or they have a pick among different companies. Make the hiring process too onerous and you end up selecting for the most desperate people.
I don't know how you'd get a good signal from a "work-sample test" in under a week or so, in which case you've basically weeded out most of the people you want to hire.
I did it when I had over 40 years experience. It was a blast.
I've since used that method when I was a hiring manager, both for technical roles, and even a Manager of Compliance. Was extremely successful, both for us on the hiring side, as well as two very good hires.
I suppose you've heard this argument a lot, so the short version: Can't compensate people in many countries, and probably some other legal problems when they are still employed, so what are they supposed to do? Take a vacation day? Does it even still count as an interview if you're doing real work?
I'd love this, because I have a feeling I'm better at working with people than whiteboarding, but realistically unless I'm on furlow or out of a job it seems really hard to pull off, especially if it's longer than one day, even if I ignore the compensation, which would not be a pet peeve of mine, but I've heard it as a valid argument from others.
Are we doing more spicy takes? I'll give you one: this is just not a thing. Unless you're operating at a very large scale, I think you can simply ignore this problem.
If your team is at all well run, and your work-sample testing mirrors the team's work, it's not a very good scam to run: it'll be immediately obvious on the job.
We thought we'd put some energy into this back in 2021, and we have yet to reach a point where thinking about this makes any sense (except for tech writers, where spotting GPT is maybe somewhat useful).
Maybe I am unlucky, but I've been working fulltime for almost 30 years and I can count the number of well-run teams that I've worked on or known people working on with exactly zero hands. And the management of 100% of them acted like they were the best company on Earth to work for.
I have _heard of_ great teams, but even the one person I knew who worked at Pivotal ended up there long after things went downhill culturally.
You’re not but it already reduces the sample size by a lot. There is no 100% effective way to detect liars. I’ve been a hiring manager in multiple companies (including currently) and fortunately for me they were so far rare (maybe because Germany isn’t attractive enough as a job market for programmers to get the bulk of people putting a lot of effort into fraudulently getting a job).
Either way it is customary to start new hires with a 6 month probation, and their long term contract only kicks in after that. That’s long enough to detect if someone is incompetent (I’ve had to fire people during their probation when finding out they weren’t actually capable altho I don’t think they outright lied).
The one place I interviewed that did this had me email my program for them to run, then come in and answer questions about it and describe which parts I was proud of, which could use improvement, etc.
maybe a balance can be struck? audition/take-home to select potential candidates, a follow up interview with each to confirm they wrote the code and are a good team fit.
"Drawing out the interview process is a thinly veiled attempt to launder this bias with a "neutral" process that they will likely disregard/overrule if it contradicts their personal preference.
That doesn't mean that I think this sort of interviewing bias is good or acceptable, but I also don't think drawing out the interviewing process corrects for this bias either."
Yeah this part didn't make any sense to me - is he claiming that later interviewers will be heavily biased by talking to previous interviewers? If so, I think that's probably not as strong an effect as he's claiming, and its also easily correctable by just having interviewers not talk to each other.
I do agree about the "you only need 15 minutes" part, but the solution there would seem to be replacing four hour long interviews with four 15 minute interviews, rather than with 1 hour long interview.
Exactly! Google famously did 8-10 interviews during their startup stage and they absolutely hired rock stars who helped them lay the foundation for Google's $2T company.
People who haven't build sustainable, profitable organizations typically have no clue about hiring. Sure, they may be able to hire well for their little project. But, if you care about the culture of the company and how you want to shape it, you almost want all of your current members to have a say in the new member
They hired rockstars because back then, all the rockstars wanted to work for them. The only focus of their hiring process was how to reject the 'B' candidates. They knew they would get enough 'A's applying that they couldn't avoid hiring a bunch.
For most companies, including Google as a more mature company, the dynamics are different. You might be quite happy to hire candidates who weren't top of their class but who are going to be easy to work with and get stuff done. And you want to make very sure you don't either reject or turn off the (maybe small number of) outstanding performers who want to work for you.
Google IMHO completely fail at the latter these days. A solid A student who knows how to present themself and really wants to work at Google will be hired. A genius with an unconventional educational background probably won't be.
All you need is to hire an expert to help you accomplish that. If there’s any need to spy on your partner’s phone. From my experience I lacked evidence to confront my husband on my suspicion on his infidelity, until I came across spyrecovery36 which many commend him of assisting them in their spying mission. So I contacted him and he provided me with access into his phone to view all text messages, call logs, WhatsApp messages and even her location. This evidence helped me move him off my life . I recommend you consult
spyrecovery36 @ gmail com if you need access to your partner’s phone
- I'm a 20+ year tech veteran with an award winning engineering background and a solid 20 year career in major (albeit Non-FAANGM companies) and I recently went through 5 interviews only to be told the remaining 3 interviews and 1 final onsite (which I need to fly in for) will be postponed to next month..
In the past 9 months that I've been looking full time roles, its been a series, 3-4 rounds of initial interviews, take home projects, etc so far to no avail...
Each time I'm afraid that some sharp 25-35 year old will get the job..
It really sucks that longevity, skill, wisdom and experience is valued so little by tech culture..
I usually just do a small pair programming session for a simple problem that can be expanded with various tweaks (even fizzbuzz can work for it, I usually have some business problem related components).
During that session, which lasts about an hour, I usually have pretty good idea if the person would work out or not for the team. Works pretty well for a lot of fakers too (usually consultants that have crazy padded resumes).
Of course, if your hiring is more beurocratic where your technical teams aren't really involved in hiring (or don't want to be) then don't be surprised if you get pretty much randomly skilled persons (or fakers).
I've generally enjoyed the teams that I've worked on where the hiring process was more extensive. And those places where the hiring was less extensive I've not been happy. It only takes one or two duds to make it through in order to ruin a team.
I'd rather work on a team that did their best to make sure there were no duds even at the expense of missing a genius, so long as everyone that did make it was on right side of the bell curve.
> A lot of companies think that dragging out the interview process helps improve candidate quality, but what they’re actually doing is inadvertently selecting for more desperate candidates that have a higher tolerance for bullshit and process. Is that the kind of engineer that you want to attract as you grow your organization?
Yeah, in a way this "spicy" take is somewhat idealist (naive?). Bigger companies, even the ones that are not all that bad, can have quite a lot of process due to the fact that there are non-technical people involved, often in controlling positions for the hiring process. Although I can't say I enjoy it, I actually don't mind it that much either.
The key insight on hiring technical people that I have gained over the 30 years of my career is something that seems very logical and natural, but seems to be forgotten too often: you cannot have more junior people evaluation more senior ones.
- 30 minutes of basic theoretical questions: SOLID, design patterns, DDD, clean architecture etc. just to get an overview of what they know and what their experience is, and if we'll have to assign them some courses later
- 30 minutes of a practical task: they're given a very bad piece of code (1 screen), and their task is to review it. Things like: SQL injection, lack of transactions (data consistency), lack of locks, bad variable names, bad program structure etc. The review is interactive where the interviewer can give tips. Usually it gives a pretty accurate picture of their actual experience/skills, and weeds out 99% unfit candidates.
If all is well, there's then 1 hour interview with CTO to check the soft skills: motivation, corporate culture fit, they also negotiate the salary (based on the previous interview)
We don't do leetcode and don't ask to write a test project.
Observations:
- many candidates who are good at theoretical questions completely fail the code review: i.e. they simply memorized it without deep understanding
- there are candidates who are not good at theory but pretty good at spotting most problems during the code review. For us, it's usually OK. It's often good self-taught engineers.