I skim the resume, underline anything we use internally and talk to them about experiences.
We've done over 300 interviews in the last expansion year (2017) because we had to build a brand new development office (+50 devs).
After hiring all of these people, we've quantified this as three things: Curiosity, Ability to Learn and Ability to Listen. 2 out of 3 is good, but 3 is best. Almost every person we've hired who has been a success has had some of these, they're willing to be curious about new technologies and how things work, they are capable of learning (desiring isn't the same thing, they are capable of it), and listening is a good trait for enabling communication.
It is still possible that we chose these traits yet rejected other traits which are far more successful, and there is a chance we also rejected good people who would have also succeeded.
Just by struggling with a (really not that hard) challenge tells a lot about how well someone is able to listen. E.g. when you try to give hints to them. It also shows a bit about their demand for producing quality work. (The first solution they provide is usually not bug free. They miss edge cases. Then they add conditions to check for them but those are not needed because the algorithm can be written in a pretty simple form. BTW, I've been using the same challenge for years. Whether someone is willing to simplify shows a lot about how much they care about the quality of their work.)
But yeah, I found that usual chit chat about technology with a few directed questions also help (and I use them).
I am fairly experienced and I can simulate stuff in my head quite quickly but this often has a detrimental effect -- I get a few ideas, see all their flaws and get an analysis paralysis. I flunked one otherwise promising interview by doing this.
Sometimes you just freeze, you know. I have confidence of having excellent problem-solving skills but they are not always summonable on demand right at this minute.
I have a fairly successful -- if very rich on employers -- career so I should probably view the above as a personal weakness and not as something inherently bad, but I am not sure.
How do you feel about such people?
(I usually prefer a take-home assignment even if it's more work. It gives me a chance to show excellent craftsmanship and attention to detail, which I really want to demonstrate during the interview process.)
Since in the past few years I've only been interviewing freelancers for temporary positions on the projects I've worked on, I kept going with this simpler task. Now even with that, some people struggle. And I see that as a very bad sign. But I'm always giving hints and helping. I always start by saying that if you have any questions or feel like discussing an idea, feel free. And if they keep thinking and don't tell anything I'll start the discussion. (But that's part of the test, because, you know, things like this happen during real work: you get stuck, you don't understand the requirements, etc. And then I will want you to reach out and ask/discuss.)
Another task I do during the interviews is code review. Even if you do badly on the first one. The piece of code (now actually two pieces) has a lot of room for improvement, while only about 20 lines long. That's a totally different kind of task, less about problem solving and I guess less prone to cause anyone to freeze.
Oh. We kind of talked past each other then. Sorry!
Just today I had ~15 minutes to craft a basic SQL update statement generator based on an (almost) arbitrary JSON input. Save for me misunderstanding the requirements initially, I aced it and the interviewer was impressed.
General problem-solving and chatting about real problems that the company has I found to be the best format of technical interviews. One experienced programmer can extremely easily call out BS if the candidate is faking their expertise.
---
As for me freezing, yeah, it can happen but I accepted it. I can't have all the IT problem space in my head all the time. I expect the interviewer to be flexible in these cases. If not, oh well, life goes on.
What I would do during your interview is performance theatre and it would tell you nothing. I would lie to you about whether I have seen the problem you presented before, because I would only be there because I was on an interview-circuit with every interviewer that thinks they are so clever and hasn't changed their question for years and I recycle and adapt answers, and for you, the answer to your question is probably listed verbatim on Blind, Glassdoor or Leetcode forums about your company and role.
It felt pretty bad, because he knew there would be another, harder task and we knew that he had no chance, so what do you do. But again, the task is simple, you don't need an IDE, you don't need to use any API. Some people do the very obvious solution (though that never occurred to me until I saw someone going down that path) which does need maybe 1-2 calls to the stdlib. But I always tell them that syntax details don't matter, they can use any language, and if they want to use some lib or API then they can just say that and I'll believe the thing is there and the call does what they say it does. (Unless it's obviously not true then I'll say how I think it works.) But it's mostly theoretical, because as I've said you don't need any APIs (though some people sometimes ask about the exact semantics of some less common language features and then we just agree that it works the way they say it works). It may sound cryptic, but that's just because I don't want to give away the puzzle :). E.g. think about what happens when an addition (using the plus operator) causes an overflow in their language of choice. It's just an analogy and even the thing it's an analogy for (that came up during one of the interviews) is not needed, but given how some candidates solve it, it may come up. And then I'll ask what could happen then, how do they think it works. If I know how that works I'll tell them if not, I'll just believe it works the way they say. Doesn't matter.
It's not a theatre. The idea is to somehow simulate a situation similar to what you'd experience during work from the perspective of problem solving . E.g. you'd be surprised, but a lot of people just don't think about testing their solution. So if you are really testing habitually, then I'm pretty sure I'd see (hear) you walk through the code, and run your test cases in your head. Maybe you'd start with stating test inputs and expected test outputs. A few people I've seen actually did that. And of course, these all register and tell a lot about how you work and how you think.
>every interviewer that thinks they are so clever and hasn't changed their question for years and I recycle and adapt answers, and for you, > the answer to your question is probably listed verbatim on Blind, Glassdoor or Leetcode forums about your company and role.
1. My company is not on Glassdoor or Leetcode. It doesn't apply to small companies 2. The task is simple, it's not worth memorizing it. Actually it's so simple that if someone needs to memorize this, then they will have a problem memorizing harder puzzles for sure. 3. It's pretty easy to identify if someone knows the quiz (though, of course they can pretend that they don't, but that's borderline sociopathic) 4. I also use a code review challenge which is harder to reproduce, though some guy could be unfair and post it there 5. If this becomes a real problem for me, I'll probably add pair programming to the mix
I understand the motivation for some people to want to circumvent interviews, thinking those don't do justice for them. It's hard to tell. I've never been afraid of interviews, though I've never really interviewed to any job where I though I had to get in. The problem with posting questions and trying to circumvent is that the response will probably be that interviewers just keep changing the questions which will result in less predictable outcomes. Or everyone will just require a long, take-home project (though you can game that one pretty easily too) or throw more automation at you. (e.g. a 1.5 hours long HackerRank quiz just to get through to a human.) Seems like and instance of the prisoners dilemma to me.
"Aptitude" correlates strongly to your "ability to learn," "enthusiasm" correlates loosely to your "curiosity." I think "ability to listen" is more of an obvious prerequisite to being a functional employee.
The real takeaway is that experience doesn't matter nearly as much as people think it does, especially in a company that has a culture of ramping up new hires very well.
Anyway, to answer your actual question: One thing I'd always ask at some point is, "Can you tell me about a time where you solved a hard problem?"
They'll think you're trying to gauge their problem solving abilities, but their answer will give you much more valuable insights regarding their aptitude and enthusiasm. While they're answering, you'll get to ponder:
"What does this person think is hard?"
"How well can they communicate a complex topic?"
"Does solving hard problems excite them?" etc
I do investigate some time with new languages/tech to a degree, but to the extent I have time to learn, I tend to want to go deeper in the things I have competence in already. There's generally always more to learn (between the language itself evolving and the ecosystem developing) such that taking time away from those areas to 'explore' some hot new thing tends to not have very useful ROI.
I've done 'learn new language X' for... way too many years already, and prefer to get better at what I know. That doesn't mean I never learn new things or new tech, but it's generally in service of a defined goal as opposed to "oooh that looks neat...".
I've been doing this as a hobby for 40 years, and professionally for around 26. I have the feeling some places would look at 'the old guy' (like me) as 'the stick in the mud who never learns the new tech', yet in some cases I've been 'learning new tech' since before they were born.
Some of the original question was rhetorical - I already know how some places react to the "I don't spend time learning multiple new languages/stacks every few months" line. But... keep it in mind that there may be other ways to measure that curiosity besides just looking at 'time with new language'. ;)
That's still learning, the issue is someone who says "Well, I don't have to learn anything new".... "at all".
How do you deal with this in your process?
1. (Curiosity) How do you keep up to date with tech? Then explore something recent they started playing with and how they found it.
2. (Ability to learn) Ask about past failures, what they thought went wrong and what they'd do next time. If that's a bit harsh, ask what they'd change about their last major project.
3. (Ability to listen) For me this is about how they work with others, so probe for areas of friction they've had, particularly with people outside their immediate team.
You can't discount bias, but you get a baseline over a few interviews and can go from there. It's worth pointing out that all of these are soft skills, and quantifying those is always hard. Sometimes you've just got to trust your gut. It also helps if you've spent time working in a customer focused job, because you tend to be better at spotting egregious personality flaws.
For example, I have recently started doing a lot of cooking and bread baking, and I've watched hundreds of youtube videos about those topics (which I could argue demonstrates curiosity), but I still haven't bothered to learn React or Angular because I barely have to deal with javascript in my current job, and where I do, jQuery usually works just fine for my limited needs.
When employers say they want someone who is "curious", what they are really saying is they want someone who is willing to spend all their personal time self-educating on programming topics, effectively making themselves more valuable from an employment perspective. The employer, of course, is rarely eager to actually allocate "learning time" during normal business hours, and is rarely willing to give you a meaningful raise when you actually have self-educated on your own time.
I really wish more companies actually TRAINED their employees DURING BUSINESS HOURS instead of just trying to hire "curious" people.
I've done this for decades, and there's a degree of regret about how much time I've spent 'learning' and 'being curious'. Not a huge regret, but... it's help reduce the need to dive in to some things altogether. But.. that comes across as "not interested in learning" to some people. No... I can usually just tell after a quick skim if there's going to be business value in tech X. We don't need to spend weeks prototyping something that is obviously not a fit... unless... we're doing this for show, or politics, or something else. If that's the case, just say "we're using X" not "let's investigate X to see if it can meet our needs".
Good on you for having non-tech hobbies. I doodle on guitar, and am 'curious' about that, but it's not going to land me any tech jobs. :)
You can get a feel for it... ask about personal projects, then follow-up on why. The best candidates will cop to "I wanted to check out the new tech (curiosity)", "I wanted to learn the new programming language (learning)".
Listening is a little bit more difficult to quantify, but we're mostly looking at people who know how to follow the flow of a conversation (a good friend once told me it's like a battle, their side shoots a little bit, we shoot a little bit back and back and forth)
Edit: Some people don't have personal projects and that's fine, you can ask what they would like to learn or if they want to learn something. Someone who just rolls in to write some code for a paycheck is perfectly fine but if someone has a desire to learn something, it's a good trailing indicator.
Someone seeing the field as just a paycheck will often cease to want to improve themselves, take new challenges and other desired traits.
Sadly, some of these conversations do devolve into some weird eugenics-like items....
This is what things like representation are for, as they attack the problem for a different angle.
If people in a company don't know what they're doing, yet (it appears) have a deathgrip belief in the equivalent of something they found on StackOverflow or in a blog post... doesn't that reflect something about the company?
Or, given that this seems to be a pretty common dysfunction in our industry right now, with not a lot of good role models, maybe any particular org having that problem doesn't reflect too much on them. At the same time, maybe the situation means that an org not cargo-culting, and trying to do it better, tells us something more, and positive, about that org?
It’s group work just like everything else. slowly mix in junior people to train them, but make sure there are enough senior interviewers to make sure we make a decent evaluation.
The above may or may not be good, but it is a signal.
Large companies have almost always given me the traditional "coding a whiteboard" interview and nitpicked for the whole hour at things that would be irrelevant for the job. Many interviewers approached me with an attitude of "I'm smarter than you and I need to figure out at what point I can outsmart you" rather than trying to discover "How are your abilities complimentary and useful to the team" i.e. "What do you do well that my colleagues and I don't do well, or could use help on".
No, all that it reflects is that the company does not prioritize hiring people who interview well, or training people to interview well.
The company also probably does not prioritize hiring people who speak Finnish, or training people to speak Finnish.
Neither of these two signals are any indication that the day-to-day work environment is going to suck.
In anything but the most egregious cases, anyone making such an assertion tells me more about themselves, than it does about their interviewers.
In the rest, the correct judgement to make after a bad interview experience is "I don't have enough information to make an accurate judgement about how this company runs."
Granted, if you're getting very short exploding offers from big companies who are almost certainly hiring for a role continuously or in bulk, that would leave a bad taste in my mouth too. But if you're interviewing at the kind of company that may have budget for just a single new hire, and multiple people are interviewing, a reasonable expiration makes sure we're both mutually serious about eachother. I want to hire you enough that we've put together a (hopefully) compelling offer, you want to work on the team enough that you (hopefully) either feel good accepting the offer quickly or raising your concerns so we can discuss. If the offer isn't right for you, sitting on it as a backup in hopes that you can find something better is detrimental everyone involved.
So I don’t buy this fairness argument. If we’re talking about fairness, the process would be super quick, and then I would get a week to think about a decision that will affect YEARS of my life. To say nothing of things like asking previous salary, salary expectations, etc. Everyone knows why it’s done. If you wanted to be fair, the salary would simply be posted with the criteria that would influence it up or down. There is a reason unions and public sector jobs do this.
Companies have access to far more market salary data than I do. It’s not close to fair.
My job is far more influential to me than the company. It’s 100% of my income and yet I’m only one of many for the company. This should be taken into consideration.
I am not even sure how to judge fairness; do you have a specific moral/ethical framework in mind?
That’s not how it works in most companies
In most cases people don't actually have two serious leads to a job at the same time. I know it is potentially years of your life that you need to decide on, but for most people there isn't a choice. If you are on unemployment you need to justify not taking a job offer or you lose benefits (this varies by state/country). Even if that isn't a concern, odds are you have one offer in hand and a few leads that probably won't call you in for an interview anytime soon so again there isn't much hope anyway.
if some company gives me an offer on day one that is good should I accept it or wait a week for some other company to give me an offer?
It cuts both ways.
> In most cases people don't actually have two serious leads to a job at the same time.
That's common for me, as I usually do a bunch of interviews around the same time when I'm interested in knowing what else is out there.
Most of the time I'm not really paying attention to my LinkedIn unless I see something that immediately catches my attention, which is rare.
> but for most people there isn't a choice.
If there isn't a choice people will decide and reply quickly, you don't need an exploding offer in that case.
If I know what to expect comp- and offer-wise earlier, then an exploding offer is just the culmination of the weeks of lead-up and thinking on it.
But sometimes recruiters don't want to give you that until offer stage. Other times, it's not so hard to get.
For this reason I generally indicate a 1-2 week response time to an offer letter. I almost always come in before that, maybe around 2-3 days, but I find it absolutely essential to accepting a job to have that breathing room. Even if I lose out of some offers, its still a better investment to be patient.
For context I've been in the industry 6 years with 2 jobs and maybe 12 interviews to date. Currently going through interviews for $job-3.
The role may be advertised at a certain level but most of the time there is flexibility in going up or down a level based on candidate experience and how badly you make them want you. So 80K-180K can be a perfectly feasible range for the same job posting.
I just had a 3 month interview experience with Apple and the recruiter was the worst ever, kept lowballing and giving small improvements and the hiring manager accused her of lying to him. It was a role that i care a lot about but after that interaction there was no way I could say yes.
We all know the team wanted someone that could hit the ground running yesterday for the last 6 months.
That said, I never got an offer from something like SV startup or a FAANG, so I can imagine it's totally different over there.
It's not.
They can choose to be dicks about it or not, but the way they use their leverage isn't any worse. Competition for employees is fiercer than other markets. You yourself can get away with being a dick to them.
Probably more common is an experience I was in- we found a good candidate, he wanted to finish other interviews before making a decision and I gave him a few weeks to decide, then later I regretted giving him so much time. It meant I had to either pause the candidate search for a few weeks or potentially waste my time and candidates' time interviewing people when there may not be an opening.
Of course if you personally were on the job market and were actually desperate because your spouse said "maybe its time to be realistic" and the bills were piling up, then you don't have the luxury of playing this game.
That seems unreasonable in a lot of situations. In my current position, yes, they did want me to start right away but I really did want to take a real vacation before I started so I negotiated it out to a month or something like that. No, it's not reasonable to offer to start in six months. It's pretty reasonable IMO to offer to start in a month. (I did accept the same day. No brainer. It was a good offer. It was my first choice company. I really needed to move on.)
This depends very much on the industry and the location. In much of Europe, particularly at senior levels, 3 months notice is the norm and between one thing and another you might start at the new company 4-5 months after accepting the offer.
But of course you are looking for the best candidate right? If so, waiting for their answer is ultimately the one that serves you best.
"I have a final round interview in two days with another company that ends a 3 week interview process, and I'd like to compare offers"
is a very different response to
"Thanks for the offer, there's 8 or 9 more companies that I'd like to apply to before making a decision, can you give me 2-3 months to get back to you?".
Having a conversation gives both the candidate and the employer another data point. How serious is the person about wanting to work for your company, and how much does the company want to hire you as a candidate? It also just feels like a healthier way to start the relationship.
I think from the candidate’s point of view, I don’t think the question is whether an offer is acceptable so much as whether it is the best offer in their search. Just as a company might like to interview several companies looking for a good fit and make an offer to the best even when others are acceptable, a candidate might want to receive several offers and accept the best even if others are acceptable.
I think a company would be fooling itself if it told stories about selecting for passion or something. If you’re not seeing any competing offers in your hires, you should ask why they aren’t competitive? Maybe your offers are very good or so bad as to not be worth trying to negotiate. Or maybe you’re selecting for the most desperate candidates. Or maybe you’re good at finding hires who perform poorly under whatever interview conditions are most fashionable.
That said, don't take the expiration date too seriously, it's not a hard deadline. If you want a bit more time just say so.
The company gave him 72 hours to accept an offer. To me, that's a red flag right there.
And then they started pestering him (well before the 72 hour time limit) to accept the offer. If this had just been HR or the recruiter, I'd find it annoying, but perhaps not a big red flag.
But the VP and hiring manager were calling him. To me this says that they are pushy people who don't respect boundaries (not even the boundaries they themselves lay out!). I would be very worried about those attitudes from my boss-to-be and boss's-boss-to-be when it comes to project scheduling and deadlines.
Even if this doesn't reflect company culture as a whole, it certainly reflects the behavior of the people who would be in my direct reporting chain, and that's not the type of people I want to work for.
This is a decision that will impact my career trajectory, and I may have other offers coming. So yes, I want enough time to consider all options before making a decision with ramifications that will last years.
Maybe it's just me but if you just have one offer letter in hand and have probably already thought about what it would take to take an offer, I can almost certainly make a decision in an evening.
But seriously, if you are in a business that has been around a while (20-30 year range) and likes folks to stay a long time - you just are not as interested in hiring the type of folks who want to set off bidding wars, drag out offers, counteroffers, job hop etc.
If the candidate is great, can always just say, would love to talk through an offer that would work for you. If they are reasonable - bingo - everyone is happy. Again though, these offers end up with a short expiration so I can get to next person if you don't want position after all that.
But I also pull down posting pretty promptly, do a quick 5 minute phone screen with lots of folks right away (same or next day after application) etc. so they can move on too.
However, our hiring process is sometimes shameful. You name it, we've probably done it. We've ghosted candidates that did really well in their interview. We've taken weeks to make an offer, and we've asked candidates to fly across the country for a 2nd onsite interview because some middle manager thought that Team X should talk to them.
We're getting better, but sometimes there are legitimate reasons for things like delays and ghosting that can't be disclosed to the candidate. I try to keep this in mind when I get treated similarly by other companies.
Can you elaborate? I'm having trouble imagining a legitimate reason to ghost a candidate, other than a court order or National Security Letter.
When there's even the slightest hint of a potential safety issue, it quickly becomes the top priority for a whole bunch of people. Most issues turn out to be false alarms, but we can never assume that. Lots of other things get put on hold, including hiring.
If you're an unlucky candidate who happens to interview right before one of these shit storms, you might be ghosted for a couple of weeks at least. Obviously we can't share the reasons for the ghosting, as much as we'd like to. Even a polite response from HR like, "Sally really enjoyed talking to you but she's unexpectedly tied up in something" can be market-moving information if you find Sally's role on LinkedIn and tie it to recent news about the company.
So a candidate being ghosted can also be market moving because it means the same thing.
Just have HR stall a bit, maybe you're finishing the round of interviews for other candidates or something, it's not that hard.
I'm curious if this level of caution is truly required to meet an SEC rule. I've never heard of another company feeling the need to be this secretive for market reasons.
As one totally hypothetical example, let's say that the project a candidate is being interviewed to work on is suddenly in jeopardy. This could be due to sudden unexpected financial hardship, like a big contract falling apart at the very last minute. Or it could be due to a new competitive threat resulting in a need to shift resources elsewhere. Or the new CEO just doesn't think it's worthwhile. Or, maybe the project ultimately proceeds and the candidate gets an offer.
In any of these situations, a company can easily find itself the target of an investor lawsuit if the reason for the hiring delay is inadvertently disclosed and there is some ensuing stock movement, even if no SEC rules are violated.
You might still think that this is overly cautious, and you may be right. Either way, ghosting doesn't only happen because people are inconsiderate (though that is certainly a reason), and I personally try not to infer too much about the culture when it happens to me.
> Then the pressure started, incessant calls from the hiring manager and the VP of Engineering, back-to-back emails, all within the allotted time.
I agree with the author that it's a red flag - it communicates that they don't respect boundaries or behave professionally.
If the team has this attitude before hiring, it often indicates that it will be "we need A B and C done by first thing Monday morning" after joining. My 2c.
This is a complete non-signal.
But what are the chances that the hiring manager will pester you within the time frame you supposedly have for considering the offer and then won't do the same when you are employed with your actual tasks?
I would put it close to zero.
Will the DevOps team that interviews for 1 role a year working on a very specific platform still have a wonky interview process that might but something the manager put together or just feels like asking? Sure but on average the company will have their shit together.
If they haven't done this then it is reflective of the culture. Why didnt they do this? Do they not really care about recruiting? The experience potential new hires have during the interview process? Do they just not think its important? Those are all things that are reflective of the culture.
That says to me that the culture of the company is based on hacking it together at the last minute. I've never come across a company with a slick recruitment process that wasn't technologically adept too.
It's frustrating that it is that way, but the hiring at that company was a whole other song and dance that took very little input from anyone about the hiring process.
That doesn't sound healthy to me.
First of all interviews are a two way interview. Your company will be judged based on it.
Also people come in touch with hr later, and usually in high pressure situations. If HR was difficult during the interview that’s a big red flag for later on in case you have to deal with them.
I don't doubt people judged the company based on their interactions with HR, but that's HR's responsibility IMO. I gave my feedback on a few occasions, but they didn't take any action based on it. At that point their failures are 'not my job'.
As for any other HR interactions most folks interacted with them as little as possible. At big companies (and many others..) I find HR is there for the company to manage risk, not help, I expect very little from that kind of department.
Once I interviewed somewhere and their engineers seemed very burnt out, an interviewer I was scheduled to meet with had left the company, and two of the interview rounds seemed like they had no idea what to ask me. I ran away screaming as fast as I could.
Another time I interviewed by a company who was recently acquired and missed my scheduled interview time (twice!) so I decided to withdraw. My friend working there left the company a year later, saying that it was a complete mess there.
Otoh a friend accepted an offer at a company because of their interview process - it was extremely well thought out and designed to be respectful of candidates and test what really mattered. Those values and mindset carried over to her experience at the company.
What I line - I would never hire this person. There are people who see big deals when much more obvious reasons exist, they just can't see beyond themselves.
In this case, orgs I work with our small, we almost always have a #2 and #3 candidate ready to go. It's rude to drag this out more than it needs to be for everyone, and it tells you how interested someone is if they want to sit on an offer. 2 days, let us know. If you are not interested, fine.
Note, I've normally already talked through comp packages and ranges early and asked them if this is in the range or what they are looking for. If they have been straight at this stage I normally get offers signed within hours. That's a good sign for everyone.
I've never found the interview process to be reflective of the company. I find the interview process to be a random hodgepodge across the entire industry because nobody knows what they are doing. Small/not-big-tech companies literally just have people that googled "how to do a programming interview for ________ language" and skimmed a youtube video, lifted some questions from some articles, and made you solve it in codepen.
Extrapolating that to the actual culture is totally a miss.