Hacker News new | ask | show | jobs
by screye 1928 days ago
I actually love these kinds of questions. Allows the candidate to run through the problem as a conversation instead of a binary solved/not-solved outcome.

I usually preface it by saying that I will take a minute to write down a few ideas, so the silence isn't awkward. It is such a great way to engage your interviewer, while gaining a finer ability to choose the level of abstraction when you are working through a problem.

I love it also because it helps those who aren't native English speakers. The ability to visually represent ideas is equally distributed across language skills. It doesn't even need to be suited for a visual thinker. It can be math, venn diagrams, graphs or even straight up code.

1 comments

Also terrifying and mentally paralyzing for a large percentage of devs. I'm ok with these interviews (and agree they can be fun when they go well) if you are ok with a very high rate of false negatives and being basically inhumane to that same group of people.
It's funny you say that, because the alternative is Coderpad/Hackerrank style quizzes which I completely despise.

Those give me a world of anxiety. I know I can practice leetcode for 3 months full time and ace them, but that feels so wrong in spirit. Also, that's a tall ask for someone with a fulltime job. I will fully admit that I have never tried to remember syntax exactly for any language I use because coding speed was never a bottleneck for my job. Thus, I can almost never finish the darned problems in 45 minutes. My palms get sweaty and my head blanks out.

Weirdly enough. I can literally write the exact code on a whiteboard no-problem. The brain is weird.

The alternative could maybe be something actually related to the job at hand. Like “I’ve got a database here and we need a view on this page - how would you approach this problem?”

I guarantee you will find people who do the actual work. Companies don’t need massive amounts of coders that can minmax an arbitrary book algorithm. If you want someone to be “clever” in exactly that way then you can push them in that direction while solving a closer to real looking problem.

Is not the inability to think on your feet in a productive way in front of others - especially stakeholders - a gigantic red flag you want to catch?

Having reasonable social skills and the ability to not look like an idiot when you're on the spot are both super important to being a productive member of a business

Edit: someone has just downvoted every one of my comments in this thread and not left a response, why?

No. It's pretty rare outside of interviews that you have to code in front of an audience. For most jobs having performance anxiety is no red flag at all.
If we had to categorise interviewing as a science I think it would land squarely in the social sciences.

Difficult to impossible to reproduce results; practitioners with wildly different skills and biases; institutions with systemic biases; individual candidates who can vary wildly from day to day; cohorts that change over time and distance; a lay population with strong opinions.

We'd be better off selecting candidates randomly, but even this only kicks the can down the he road.

> It's pretty rare outside of interviews that you have to code in front of an audience

But it is most certainly not rare that you will be expected to reason about possible solutions to problem domains you barely understand using techniques you have varying levels of familiarity to an audience.

Maybe I'm wrong, maybe this is just my line of work, and if you're recruiting a person who pulls tickets and there's no expectations beyond that whatever. But I would be assed to hire someone who, presented with a question my team thought fair to ask in an interview, was unable to stand up and cohesively walk me thru their approach, reasonably attack some parts of that approach, and offer some insights to what pros and cons they see in their approach and others they might have passed up. How is that person ever going to help in a brainstorm if they are so socially anxious they cant speak to an audience? How are they ever going to help their teammates in a Code Review if they are unable to find their voice in front of a whiteboard-tier problem that every single other candidate is facing?

If your social anxiety is this debilitating, that you can't do your literal profession in front of a crowd who you purport to be on the same level as by virtue of interviewing with them, I think you have a problem yes.

Sounds like stress doesn't impact you, even in interview settings. Good for you! Too bad it seems like you also lack the empathy to see why other people might find interviews different from normal work-collaboration duties.

And no, it's not your job to worry about other people's issues, but if you think that 'being stressed in an interview setting' == 'unable to collaborate' (this is what I read from your ridiculous strawmen), you're going to pass on a lot of good people.

> Sounds like stress doesn't impact you, even in interview settings

No, it sounds like you didn't read the top of the thread, where we're specifically discussing Whiteboard Prompts. I agree interviews are stressful; I disagree with the argument that "Whiteboard Prompts" are so much higher stress than the rest of the interview that we can't conclude anything from them about the candidate.

I further argue that if one can't perform in a Whiteboard Prompt, wherein the entire goal is to have the type of conversation about a problem that engineers are paid to have about problems rather than coming to a code solution, than one will probably be difficult to work with in any situation which involves some pressure. Some classic examples of equally high pressure situations as talking to an interviewer you don't know but who is probably on your level include things I do each week:

* speak with stakeholders about progress

* opine to stakeholders about complexity of features, timelines and methodologies of their implementation, and possible blockers

* work with my team & extended team members to give Code Reviews, where often they are my direct report or someone else's direct report

So, I conclude that if one is able to excel technically, but completely unable to handle this socialization aspect of interviews, than in a large corporation where you frequently have rotating casts of external stakeholders, this implies you will not be fit for any of the work interfacing or collaborating with colleagues outside the team. This implies this person will be a low performer if hired into this team.

Call it a "ridiculous strawmen" if you want, but I don't see why we should completely discard testing of someone's ability to interact in new situations, otherwise surely I could argue in the ridiculously reductionist way you are interpreting my multiple, specific comments elucidating my stance that TripleByte has solved the interviewing problem.

I think you're missing the real world nuance here, anxiety isn't as on/off as you make it out to be. For me, a developer with social anxiety, there is a huge difference between an interview environment and talking out a problem or code review with a team I'm familiar with. The two main factors for me are one my anxiety just skyrockets around new people but quickly calms down after being around someone for a couple days/weeks and getting used to them. The second is one aspect of my anxiety be is an abundance of worrying about people judging me/what I'm doing/wearing/whatever and in an interview the interviewer is doing just that: judging my performance & worthiness to join their team.

Anyways that was a long winded way to say it is entirely possible for someone to be anxious and generally bad at interviewing while also being capable of being a productive team member.

Hi there. I have social anxiety. There's a fucking huge difference between performing in front of someone more important in a job interview compared to talking to peers in a casual setting.
Is that expected to be a major part of their job?

If no, then no, it's not.

If yes, perhaps. Interview settings are still quite different than what they're going to face on-the-job, but you do have to infer from something, so I'm not sure there's any real alternative.

> Is that expected to be a major part of their job?

How do you collaborate with your teammates? I do it directly by approaching a problem in a shared coding or whiteboarding session, where we try to break it down to its barest bones and then implement logic to animate these bones. Once that is done, we begin to look at what types of higher-fidelity information we lost, and iterate.

This requires a good ability to communicate, write code in real-time, understand perfect is the enemy of good, and in general be able to simultaneously think deeply and support conversation / collaboration.

Of course, there are frequent async steps in such a workplace, but if you are the type of engineer who doesn't participate in these stages and instead can only pull tickets and write them to a spec, you are the type of engineer I don't want to hire. So I consider the signal:noise ratio quite high wrt watching someone melt under the same pressure as every other interviewee faced.

I agree that collaborating in real-time is important, but I disagree that interview conditions allow you to assess real-time collaboration abilities accurately.

In a real life situation, both you and your partner will be generally familiar with the problem at hand; if not there's an expectation that the person with more knowledge will be explaining not just the problem, but also the solutions that are already under consideration, so that everyone is on the same page.

In an interview situation, the solution is obviously withheld because the goal is to make the candidate derive it, so any back-and-forth is artificial - the interviewee is the one who has to do analysis while being scrutinized while the interviewer has already done the work.

And of course, normally your partner doesn't have control over whether you get hired or fired. If you were dropped into a room with the CTO and told that you had to solve a new-to-you problem they had already solved or you would be fired, you would probably find yourself performing much worse than if your team-mate asked you to weigh in on the problem that had been bouncing around on Slack for the past few days.

While you're collaborating with your teammates, if you reference anything external or get it wrong or don't come up with an answer in 45 minutes you're fired!

Still stress free?

So, you walk into job interviews with the feeling you have already earned the job? And that failing the interview is equivalent to being fired?

Weak strawman aside, I don't know what your point is. You can reference external things in most interviews I've executed. "Getting it wrong" is much likelier to apply to portions of the interview outside the Whiteboarding, like for example the coding portions where you find out if they can code. The whiteboarding is a loosely structured conversation hoping to understand how the candidate would approach the problem. Even not coming up with a perfect answer seems like it'd be far more stressful in the coding part than the whiteboarding part.

Indeed, every single thing you've listed is actually probably directly worse in other portions of the interview. Yet everyone only rails against whiteboarding in this thread, with no one answering my questions like "why is whiteboarding so much more stressful than each other piece" and "why do you think social anxiety would present cleanly as a detriment to your interview performance but never your job performance?

Too many strawmans, not enough substance.

So the 50+ percent of the population who have a problem with performance under high stress situation have a giant red flag above their head? We are doing something wrong.
Well, yes. If the job requires you to perform under stress, being unable to do so should certainly be considered for disqualification.

Job interviews aren't perfect and everybody wants something different from them. But maybe the employer actually is looking for something you don't have and wouldn't it be better to find out before joining?

I kinda agree as a I have posted elsewhere:

"The scariest part of all this is that people think this is a good way to filter candidates. It shows you that the company is populated by stress tolerant, herd mentality thinkers. I see them as a cross between army grunts and high school nerds. Simple fast logic, drawn to rules and systems, prone to being swayed by appeals to authority. Low sensitivity nervous systems meaning high stress tolerance and low ability to perceive, synthesise and abstract. Working with these guys is like wearing a straight jacket anyway - avoid like the plague. Unless you happen to fit that model, in which case go right ahead, you do you, but please be aware that there are other kinds of human out there who can add value outside of the cookie cutter."

But we have a problem where we are recruiting all kinds of personalities into a market and then after significant investment in education telling them that they aren't suited for the role.

Fundamentally what is going on here is a battle between different kinds of personalities and it's annoying that I'm in the minority. But there is an argument here to say that this isn't a very economically productive situation. You need all kinds of people in an organisation.

I get the stress tolerant part although I don't agree that this would imply a low ability to perceive, synthesise and abstract. Why would the people that pass such an interview be herd mentality thinkers?
Can you provide a source that 50+ % of the population find live-coding/collaboration interviews to be a high stress situation while the rest of the interview is not? I think you are conflating your personal feelings with objectivity until I understand why you think a majority of the population is significantly impacted by specifically this technique of interviewing but not others.

Additionally, if you find a whiteboard question to be high stress to the point of not being able to answer, while other candidates are smoothly answering it, demonstrating their chops both as a technical knowledge worker but also as a collaborative and communicative engineer, you bet your ass that's a giant red flag. Why should it not be?

Please see my other answer, just below, for how I think about your response.

Also, omg I cant believe you just used the word 'chops'. It's like a fighter pilot from ww2 just teleported into the chat.

Your argument, as best as I can tell, is that people are completely unimodal in how much stress they can handle, and therefore are completely determined in multiple dimensions such as "sensitivity", "intelligence", and "attention to detail"?

I asked for a source that people find whiteboarding significantly more stressful than other forms of interviewing people are not complaining about here, and you gave some bullshit opinion that denigrates a massive amount of people simply for having stress management techniques / more advanced self-mastery.

Here's my opinion: technical interviews catch people who are not technically qualified, and whiteboard & other social aspects of interviewing catch people who are not socially qualified. I think that teams work together better with frequent and high-quality discourse. Do you?

> Is not the inability to think on your feet in a productive way in front of others - especially stakeholders - a gigantic red flag you want to catch?

In my engineers? No. In my sales people? Yes.

I want my newly hired engineers (including of the software variety) to be focused on engineering, not doing half-assed "problem solving" presentations without any preparation or analysis. That's not how problem solving works, and I want my engineers to take their time, model problems, explore different approaches, and find solutions that are well explored, documented, and proved.

Conversely, being able to think/bullshit your way through live presentations without being given a chance to prepare anything is EXACTLY what I want in sales people; that skill is part of the skillset of being charismatic, and that is the skillset of people who do sales.

I wouldn't turn down an engineer who turns out to be good with charisma, and the ability to come up with decent answers on the spot is something I expect senior engineers to grow into after a few years of familiarity with our problem spaces. But I certainly wouldn't select for it, much as I wouldn't select a car mechanic based on how nice their haircut looks.

> not doing half-assed "problem solving" presentations without any preparation or analysis.

> I want my engineers to take their time, model problems, explore different approaches, and find solutions

So, you represent "whiteboard interviews" in bad faith as 'half-assed faux problem solving', and then you state all the things that I personally believe a whiteboard interview shows about an engineer's approach.

Listen, I am sure some roles don't require someone to ever problem solve, and that's fine. But if you think a white-board interview where you get to see someone approach a new problem, vocalize their common approaches, speak about the trade-offs of their approaches, and discuss how they'd implement it is closer to "half-assed" than "modeling problems and exploring different approaches", that's a you problem and not a me problem.

Your haircut strawman is par for the course in this thread.

> In my engineers? No. In my sales people? Yes.

Thank you for this framing, really help me clarify my thoughts around this issue.

Only if we consider technical work a performance art.

Only earlier today I told one of the new starters: can you please not stand behind me while I work. They asked "why?", my response: "because it fucking irritates me".

My work isn't a stage show. If we're actively involved in a skill sharing session together, or conveying meaningful information, that's different entirely.

But I think it's perfectly normal to not want to be the centre of anyone's attention while your doing knowledge / technical work.

> But I think it's perfectly normal to not want to be the centre of anyone's attention while your doing knowledge / technical work

You are indeed involved in a skill-sharing - well, demonstrating - session where you are meant to convey meaningful information about your abilities as a colleague to the audience. Your analogy has therefore directly fallen apart.

Also, I am not really sure what you are getting at with this language, but in general, if I was to have an interviewee who was to state the interview "fucking irritates" them, it would most certainly not be a successful interview.

Taking a good faith chomp at what you've said, representing an interview as "performance art" when it is probably trying to suss out your skills again seems like the kind of lack-of-social-skills that I would love to suss out in an interview. It's not like you are going to be asked to understand and implement a distributed algorithm for the first time in your life, they will take topics that should be at-worst adjacent to your knowledge base and ask you about them.

In an interview, I expect the interviewee, as someone claiming they have the capability to be my colleague, to then demonstrate that we can discuss, reason about, and explore in real-time solutions to problems. If you consider the mere act of collaborating with a colleague "performance art", it most certainly is a bad sign for how well your knowledge base will filter to the team thru any means except them reading your code.

> You are indeed involved in a skill-sharing - well, demonstrating - session where you are meant to convey meaningful information about your abilities as a colleague to the audience.

If you were the manager at an architectural firm, would you have a candidate come in and invite them to design a bridge on a whiteboard? Interestingly, at the age of about 8, I could do this by remembering what the structure looked like; simple memorization. At 12, I competed in a bridge building competition, using balsa wood; I could draw a bridge that used good basic design principles. At 16, I could spend hours drawing a realistic looking design, annotating lengths and angles, design features. I know NOTHING about bridge building. Never have, beyond the basic low hanging fruit that anyone who's taken a basic physics class will be able to derive.

There simply isn't time during an interview to demonstrate a full professional design pipeline in ANY meaningful way. It's simply bullshit. This is why handing out problems to people as they arrive at interviews like some fucked up high school pop quiz makes you and your company look like a fucked up high school, full of pedantic pedagogy.

> Also, I am not really sure what you are getting at with this language, but in general, if I was to have an interviewee who was to state the interview "fucking irritates" them, it would most certainly not be a successful interview.

What an odd response. I would ask them what about the interview "fucking irritated" them, because there might be something terribly stupid about our interview process, and bettering the interview process is extraordinarily important to a business.

> Taking a good faith chomp at what you've said, representing an interview as "performance art" when it is probably trying to suss out your skills again seems like the kind of lack-of-social-skills that I would love to suss out in an interview.

Social skills are a skillset highly valued for a social role at a company, like HR, Sales, Business Development, etc. Engineering skills are highly valued for engineering roles, such as Lead Engineer, Architect, R&D Lead, etc. You don't interview your sales people and hand them a paper asking them to derive the quadratic formula from first principles; that would be idiotic. Some might be able to do it, but then why are you even asking them to do BS that is unimportant for a newly hired sales person.

> to then demonstrate that we can discuss, reason about, and explore in real-time solutions to problems.

This is simply not how most fields in science and engineering work. There are times when it's appropriate and needed to discuss, plan, and share information, but that is a VERY small slice of the pie. Forcing people to discuss, realtime, how they are going about solving a problem of any complexity, speaks to an awful culture saturated with bureaucracy and groupthink. A sit-down chat or planning meeting on occasion is really important, but should gazing play-by-play? Disgusting.

> If you were the manager at an architectural firm, would you have a candidate come in and invite them to design a bridge on a whiteboard?

Let's say I were.

> I know NOTHING about bridge building. Never have, beyond the basic low hanging fruit that anyone who's taken a basic physics class will be able to derive.

These would be exactly the kind of things the SOCIAL aspect of that whiteboard interview would dig into. Indeed, same with software engineering. I am sure that many people would be able to solve the whiteboard problem I give; that's quite directly not the point. Instead, the point is to see if they can demonstrate their ability to say things like:

* why did you use these lengths and angles? If I were to make this modification, would it have structural or design implications?

* I like the structure overall, but you have "<N>" of some substructure. Why did you pick that quantity? What changes would you make if the client requested more or less to keep a similar feel?

The person would then be able to demonstrate that they don't know NOTHING about bridge building and simply recreated a thing they luckily knew the shape of, but instead dig into first principles, emergent properties, tradespaces that emerged from their design decisions, and why they navigated said tradespace how they did.

> What an odd response

Right, I'm talking about how social skills are an important part of being in a workplace - you do, after all, interact with your coworkers up to 40h a week - and then this fellow tells a story about how he as a senior engineer told a new hire they were "fucking irritating" him as a demonstration of his superior social skills, and now you're trying to pull this? Unbelievable.

> It's simply bullshit

> makes you and your company look like a fucked up hiigh school, full of pedantic pedgagogy

> You don't have sales people do quadratic formulas

> Disgusting

You're quite unpleasant, and arguing directly in bad faith

> Engineering skills are highly valued for engineering roles

And the ability to communicate is a critical Engineering skill. How on earth everyone in this thread thinks asking an Engineer to talk for 45 minutes about a problem is analogous to asking a sales crew to derive a quadratic formula would've been beyond me, but I've seen about 100 strawmans in this thread.

Design work is not a VERY small slice of the pie unless you're entrenched in some org with humungous momentum and years of technical planning accomplished for you. In that case, you can probably afford to hire anti-social fucks who will just sit in their cave and code by themselves, never collaborating, failing to share critical business knowledge because talking to someone else isn't in their job description.

Thinking on your feet on a team is wildly different than thinking on your feet up against an opponent, especially when that opponent is your economic future.
As others have mentioned, live coding an unfamiliar problem on a whiteboard in front of strangers with a job on the line is very different from the typical day to day interactions in most dev jobs. The social skills needed for a sales engineer are different than those needed for a developer.

I would say that being able to understand other people's perspective is more important than comfort in high stress situations with strangers. So if someone didn't have anxiety himself, I would expect him to be able to understand how it affects others when it is explained to him. If he refuses to listen and insists it just lack of social skills on the part of those with anxiety, I would conclude he lacks the social skills necessary to work with a diverse group of people.

So, because some people have anxiety, we should abandon all types of interviewing that look for signal wrt someone's social & communication skills?

I expect anxiety to impact some people, and I expect stupidity to impact a whole lot more. Should I drop the technical interviews, because the stupid people find them extremely stressful? Should I take the assertion of every person with social anxiety that in a job interview they can't perform, but in every other situation a job presents them with they'll be just fine?

I'm sorry, but candidates being able to stand up, think thru a problem, discuss the merits of their solution, and explore the tradespace of other solutions is not a skill just for "sales" people. It's basic collaboration skills.

PS: I used to have heavy social anxiety and impostor syndrome. Those things were terribly unfun, but I openly recognize I frequently caused awkward situations, often failed to speak up when I should've, and was less open to sharing of ideas and code for fear of emotional harm. I spent extensive time to work on my social skills & technical ability, and now I don't feel those things anymore. I am also much more socially capable, open about sharing, willing to speak up in any given situation, and obviously technically stronger from studying.

Please fuck off with speaking down to me. "live coding is very different from the typical day to day interactions". So is the whole fucking interview, which is why I'm waiting for someone to explain to me how whiteboarding is somehow so much more unfairly stressful than all the other parts.

>So, because some people have anxiety, we should abandon all types of interviewing that look for signal wrt someone's social & communication skills?

No we should recognize that some parts of the interview give us false signals. We should improve the process to get better signals.

> Should I take the assertion of every person with social anxiety that in a job interview they can't perform, but in every other situation a job presents them with they'll be just fine?

No. Give me the problem, leave the room. Come back in 45 minutes and let me tell you about how I solved it. Don't make me solve it with you staring over me.

> Please fuck off with speaking down to me.

My first instinct was to say something rude in return. Instead I will ask why you think I am speaking down to you? I didn't downvote you. I did say I don't think you are good at understanding other people's perspectives.

>PS...

I am glad for you. That is awesome. I have worked on my anxiety for a long time. I used to get panic attacks when I had to say "here" during attendance roll call. I am much better than that now. But I still have anxiety and will likely always have it.

>I'm waiting for someone to explain to me how whiteboarding is somehow so much more unfairly stressful than all the other parts.

I can't tell you why it is more stressful, only that it is. So give me the problem, let me solve it in peace, and then let's discuss. You will get a stronger signal that way.

PS: I had very good SAT scores. That is about as an objective technical skill test as you can get. I also tutored teens in Math and Comp Sci. I have worked in teams with fellow engineers, designers, managers, and non technical business people. I know how to communicate with a wide variety of different people. But make me do a whiteboard interview and I will get a panic attack about a third of the time. You will then conclude I am an idiot who can't communicate.