In my first interview they put me in a room with a PC with Borland C and a copy of K&R and a sheet with a simple problem to solve and some extra enhancements if I had time. They said they would be back in half an hour and left me to it. That I passed fine.
Some twenty-ish years later I was asked to write a C function to reverse a string on a white board and I failed because I’d misformatted the for loop. I don’t think it was because I’ve become a worse C coder in the intervening years.
When I’m actually coding I’m sat with my editor configured Just So with completion, compilation and unit tests at my finger tips. My favourite coding music blasting my speakers and a handy browser window for looking up anything in unsure of. This is my most productive setting and expecting the same performance in a stressful interview setting is foolish in my opinion.
Working through problems on a white board can work well but you are looking for the problem solving approach, not an encyclopedic knowledge of regex syntax. Those same problems get immeasurably harder when explained over a phone call.
My personal preference when evaluating candidates ability to code is reading their actual production code, the break down of commits, the commit messages and the sort of unit tests they add with a feature. The interview is more focused on their soft skills, what about the work excites them and what they are looking to get out of the role.
my current company does live code design challenges instead of straigt codong exercises. seems to work well
I think asking one simple coding question during a live interview is a great way to eliminate candidates that have obviously lied on their CVs. Nothing fancy, just a simple problem that everyone should know. But asking leet-code medium or hard problems make no sense.
Our industry has no idea how to hire people. Our interview processes are almost designed to filter out obviously bad candidates while accepting that some good candidates will fail, too. Getting a specifically good candidate is almost luck.
Remember this if you’re bummed about a string of rejections.
I mean, this is essentially all hiring processes.
The way to get actually good employees is to be the sort of place that actual good employees want to work for. Good pay, good work-life balance, good managers and company culture, work that is enjoyable and meaningful. Then, you hire through social networks. The founders start off as people who meet through informal social networks. They hire their friends. And then they ask their friends for further recommendations. The best way to know if someone is a good hire is if you have actually worked with them before. And at this point, the interview is really just hanging out, shaking hands, and having lunch before you sign some paperwork.
So in other words, focus on hiring extroverts who are great at forming social networks.
I mean, kind of. I wouldnt say extroverts, so much as “people with good/decent social skills”. Introversion/extroversion is a sliding scale, not a dichotomy, and it refers more to your propensity to gain or lose energy from social interactions - not your ability to socialize.
While many more introverted people find socializing more difficult in general, there is no reason why they can’t develop the skill.
Sure, but if someone is more introverted, then, even if they have amazing social skills, they will have a much harder time forming social networks with a lot of reach because it takes more energy for them to do so, whereas it is a lot easier for a more extroverted person to do this.