In Denmark we rarely perform tech interviews the way you Americans do. Part of this is because of how available education is, so virtually everyone who’s applying for a tech job comes with some sort of academic education, meaning that they’ve proven their worth to get it. I’ve worked a side gig as an external examiner for a decade now, I’ve got good confidence in anyone I haven’t failed.
Another part is that tech interviews are often sort of useless. One of the most expensive mistakes you can make as a manager is to hire the wrong person. Even in Denmark where it’s relatively easy to let a new hire go within the first three months, you’ve still invested an enormous amount of resources into the process as well as the impact a wrong hire will have on team moral. So what we look for first and foremost is cultural and personal fit within the team you’re supposed to be working in. We’re far more likely to do some personality test on you than a technical interview, not because we believe those are a science or accurate in anyway but because they are great talking points to get to know you in a high stress situation. We do this because technical skills can also be taught, and regardless of your background, we’re going to have to “adjust” you into the way we work.
We may ask you some technical questions, but they’ll typically be on a more theoretical level than practical because we want to know how you think about tech. Again to see if your “ideological” fit is good rather than to test your technical prowess.
In my anecdotal experience this is a far better process than technical interviews. But it is made possibly by education, precious work experience and the fact that if you really turn out to be terrible then it’s “free” to let you go. It also requires direct managers and often team members to handle the process with HR on the sideline, rather than HR handling the entire hiring process… but I can’t imagine working for someone I’ve never met.
> Part of this is because of how available education is, so virtually everyone who’s applying for a tech job comes with some sort of academic education, meaning that they’ve proven their worth to get it.
I interviewed hundreds of people in my career, 95%+ had university degrees, and in my experience, this is a much weaker signal than you make it. Only consistent takeaway I have is people with CS degrees from elite schools are unlikely to be completely terrible, but not much beyond that: the people with these elite degrees didn’t even necessarily pass coding/algorithm interviews, and people with less elite degrees would pass or fail with no additional signal from the degree. I’ve seen many, many people with CS degrees fail at things that I wouldn’t expect someone who passed an intro programming class to fail, things like keeping track of running maximum and an index of element at which the maximum occurs.
I’m not the kind of person to say that an elite degree is end all be all. But the kind of skill a person exhibits to get into a good college and complete a degree is not necessarily well exercised within the sprint that is a tech interview. Obtaining a degree, especially at a good school, is much more akin to running a marathon. To the extent that you need hires who can be marathon runners for your team, I’d upweight an elite degree accordingly.
That means that from the start, you rule out people who don't have this academic education. Then there's the question of the relevance of this education: either you only take CS graduates, in which case your applicant pool is quite small if you want to hire thousands of employees (but this might work if you only need to hire a few people). Or you broaden it, and you then have no guarantee that people will actually be able to write or understand code because they didn't have to to get your degree. That's without even getting into grade inflation and exam cheating.
> We do this because technical skills can also be taught, and regardless of your background, we’re going to have to “adjust” you into the way we work.
The thing is, after your technical fit, if you add a leetcode easy question, you can quickly check that the person you're interviewing can at least write a for-loop. Isn't this a useful filter?
Well yes, but as education is freely available, you’ll even get paid to study by the government, almost every applicant is going to have a relevant education. Or in the case of some people who’ve changed careers an education to show that they are capable of getting a degree and then a work history to show how they’ve transitioned into CS.
That being said your point isn’t completely without merit. But think about it from the management perspective, as I said, the wrong hire is the most expensive mistake you’ll make in middle management, so it’s more about risk management. If you get 10 good applicants, and pick the top 4-5 of those, then you’re likely left with 5 people who will each be a good hire. It’s not so much about finding the perfect hire, you’re just looking for a good hire, and part of the process of selecting those 4-5 people will be choosing people with good educations, or very good work histories. That might sort some people that are excellent out of the pile, but it also lowers the risk significantly.
In America, there is a history of using "cultural fit" as an excuse to discriminate against socially marginalized groups (both those that have and haven't escaped economic marginalization in the intervening years). So that's another criterion that Americans will have trouble with: it's difficult to be certain that your lack of "cultural fit" is something fundamental to do with your personality or work style, or if it's some aspect of your identity that is unrelated to your work performance (something that an effective, if biased, employer and team might discover if you were given a chance).
Cultural, personal and ideological (oof, what a word... kind of a red flag) are just proxies for "people _I_ like". Go far enough down that path and that is how you end up discriminating people for how they look/think/express themselves.
I'll honestly take Leetcode every time over this. I can grind algorithms, I can't change the fact that I'm Indian/Hispanic/Whatever.
It can be, again, being Danish makes this a little hard to talk about on the global scale. We’re very homogeneous to the point that I once worked in a team where 33.3% weren’t white men and that was so far above the organisations average that we were awarded… we had one woman and one Indian guy, so 2 out of 6, and that’s how homogeneous our society is.
But I’ve worked in a little bit of both environments. Usually it depends more on the people than the hiring practices in my experience. It’s always a danger that you’ll want to hire someone like yourself.
Agreed. The implication that a lack of algorithms testing during software engineering interviews has much of anything to do with successful innovation, as opposed to the infinitude of other factors that go into commercializing a product, is unpersuasive.
And do these leetcode style questions test innovation at all? I don't think they're asking candidates to invent new algorithms.
My 2c is that culture around work (in general - not specific to tech) and pay in Europe are a much bigger contribution than hiring. By no means am I trying to disparage European engineers or those who stay for a myriad of good reasons. But, it's also clear that some of the best EU engineers would rather work in the US for much higher pay. Even companies like Google* pay much worse if you work on YouTube in Paris vs the US.
Another part is that tech interviews are often sort of useless. One of the most expensive mistakes you can make as a manager is to hire the wrong person. Even in Denmark where it’s relatively easy to let a new hire go within the first three months, you’ve still invested an enormous amount of resources into the process as well as the impact a wrong hire will have on team moral. So what we look for first and foremost is cultural and personal fit within the team you’re supposed to be working in. We’re far more likely to do some personality test on you than a technical interview, not because we believe those are a science or accurate in anyway but because they are great talking points to get to know you in a high stress situation. We do this because technical skills can also be taught, and regardless of your background, we’re going to have to “adjust” you into the way we work.
We may ask you some technical questions, but they’ll typically be on a more theoretical level than practical because we want to know how you think about tech. Again to see if your “ideological” fit is good rather than to test your technical prowess.
In my anecdotal experience this is a far better process than technical interviews. But it is made possibly by education, precious work experience and the fact that if you really turn out to be terrible then it’s “free” to let you go. It also requires direct managers and often team members to handle the process with HR on the sideline, rather than HR handling the entire hiring process… but I can’t imagine working for someone I’ve never met.