4 ms·
That experiment assumes that SWE job is exclusively about solving technical problems, so we can just "lock the candidate in a private room and let them solve it
by dpc_pw 6y ago
That experiment assumes that SWE job is exclusively about solving technical problems, so we can just "lock the candidate in a private room and let them solve it".
In reality human to human interactions, sometimes stressful, are part of the job. Customer & PM requirements, technical debates, giving feedback, explaining your technical solutions, etc. are common.
Maybe part of the problem is the education that does not prepare people to reality of the job.
Note: I do realize that SWE interviews suck, and I'm not trying to defend them. Just making comment on the study.
- gundmc 6y agoAgreed. When I'm conducting interviews, the actual code produced is less than half of what I'm looking for. I want to assess if the candidate can communicate their thoughts effectively, if they can identify alternative approaches and justify their decisions, how they receive and incorporate feedback. Locking someone in a room to write on a whiteboard is not a coding interview.
- itsdrewmiller 6y agoHassling someone once a minute while they try to write algorithmic code is not a great way to assess anything useful either.
- tdeck 6y agoI think a hybrid model (create solution in private, then present it and answer questions) might be better. That way you can assess the person's communication without looking over their shoulder.
- eckza 6y agoHopping aboard your train of thought here... I've never been asked to whiteboard anything truly heinous, and I absolutely despise interviews that are set up as a gauntlet to be ran. But if I'm interviewing you for a senior SQL engineer position, and you can't talk me through whiteboarding a simple query with one join and one aggregate function... you're not senior material. I'm sorry. We need people that can communicate and explain themselves, and talk through their own line of reasoning, where I work. Again, I'm not defending SWE interviews... but of course people are better at expressing their skillset when they're in a controlled environment. The trouble is, the workplace isn't a controlled environment. Life isn't a controlled environment. I don't want to work with brilliant programmers that have zero social skills. If devs can't muster up the courage to answer interview questions... maybe that means that they should work on themselves a little bit?
- mikelevins 6y agoWell, I can communicate and explain things reasonably well to a room full of people. I ran a side business doing that for about seven or eight years. And I can ship products. I've done that a bunch of times--in several cases I've written most or all of the code in the shipping product. I can't interview all that well, though, and I'm absolutely terrible at whiteboard coding, or pretty much any kind of problem-solving with people watching me. Except pair programming. Pair programming with a colleague that I know well is no problem. I have two obstacles. One is anxiety. I score really high on trait neuroticism. It's one of the so-called "Big Five" personality traits. One of the things it means is that I have a lot of self doubt regardless of cause or circumstance, and a lot of anxiety to go with it. As for "working on myself a little bit," the Big Five are extremely resistant to change. Basically, the only things we know of that affect them much are psychedelic drugs and catastrophic trauma. Working on myself a little isn't going to reduce my trait neuroticism much. I've been through quite a few tech interviews, including some familiar big names. I've gotten offers. But that's never been because of my performance in coding or solving brain teasers, at which my anxiety has been uniformly awful, and so has my performance. The second obstacle I have is that I cannot combine certain classes of cognitive activity. For example, I cannot navigate and carry on a conversation at the same time. I can drive just fine--safely and competently. I just can't navigate if involved in a conversation, and will predictably get lost. It's predictable enough that when my daughter was a teenager she exploited it for laughs. "Let's see where we end up!" Another thing I cannot do is solve logic and programming problems while being watched or while carrying on conversations with strangers. The interaction with the strangers forcibly occupies 100% of my attention. I don't know if I'm representative of a vanishingly small fraction of the population. Maybe so. But maybe there are others more or less like me. Doesn't mean you need to change your hiring preferences. Probably does mean you won't hire me. Oh well. I seem to be making do. If there are others like me reading, and wondering what to do about it, one thing that has worked well for me is to do good work for people and cultivate good working relationships with them. I have more often than not been hired by someone who already knew my work, or on the recommendation of someone who knew my work.
- dpc_pw 6y agoI'm sorry to hear that. Every situation is different. If I were in your shoes I'd try to be open about it with recruiters and figure out / propose some alternative that work better for you - whatever that might be. Also keeping good portfolio of Open Source projects, blogposts etc. might help convince potential employers that you're worth considering and that your 'condition' (for a lack of a better word) is real and does not affect your work performance. Keeping good reputation and connections (which you already mentioned) is also very important. From my experience companies are very flexible and open minded - mostly they care about just not hiring someone that they will have to fire later.
- olyjohn 6y agoThat's a good point. But for a lot of people it's not even a problem to do that in front of your co-workers who you work with on a daily basis. Even when I had to work with customers, I had zero problems talking to them, getting requirements, and figuring things out. If I had to land that customer for the business, I would surely botch it. That's why I didn't go into sales. I think that the difference is you have much higher stakes in an interview. If you make a mistake with a co-worker or customer, you can usually just go back and fix it. If you make a mistake in your interview, it can cost you the job and it's not so easy to go back and fix.
- technofiend 6y agoHow right you are particularly when a role has any tie to a production support situation. Not only do you need to solve the problem, but you need to do so when other people are weighing on with their opinions on what might be wrong, escalating when it's not solved fast enough, demanding answers you might not have or asking you to defend the ones you do, particularly if they answers are ones no one wants to hear. This is the genesis of the infamous behavioral interviews where people ask about conflict resolution skills, how and when you'd escalate problems you can't solve, name a time when you had a problem and how you solved it, etc.
- TrackerFF 6y agoYes, but real-life situations are rarely as high stakes as interviews, on the individual level. Sure - you can find yourself in very stressful situations at work, but I have never in my life been in a situation where you're given 45 mins (or hours, for that mater) to solve some problem, or you get fired. Simply but, there's an incredible discrepancy between the stakes at play, between interviews and work. To put it a bit more extreme - but to hammer down the point: Imagine working on some problem, with no help whatsoever, and that in front of you, there's some guy pointing a gun against you. Just imagine how stressful that must be, and how much of your focus is distracted on reading that guy. Same goes for interviews. For a lot of candidates, that interview is their way out of poverty or lower-class living. And the judge and executioner of your future, is sitting in the same room as you. It's a very stressful situation - probably one of the most stressful situations in your life.
- dpc_pw 6y agoI think that's one of a big problem for candidates to fix - that mindset is wrong and should be changed. An interview should not be a "high stakes situation". It should be more of a casual event - trying to get each other and see if there's any fit. An interview that didn't go well is effectively the same as not having an interview at all. Worst case is losing some time and even then it's often a possibility to learn something. Taking it all too personally is a big mistake. Sometimes even candidates that did really well don't get a job offer for weird reasons, etc. It's very similar to dating. Desperation ruins everything. I think that might be a reason why a lot of people report getting a job after they stopped carrying anymore.