back

by mlhpdx·2y ago·view on hn ↗
I don’t disagree with the sentiment but the tools aren’t the problem, it’s the delivery. A puzzle can might be toxic if it’s a test, but constructive as a gimmick used to explore communication. Likewise for coding exercises.

It’s all pretty easy if respect for the human is genuine, and destructive for all when faked.

1 comments
But it is a test. "Anti-whiteboarding" people do not seem to recognize that there are many, many candidates who cannot write a loop. Those people cannot be employed as software engineers in most firms, and the wall must be made of brick.
I think you're missing the point of that comment. Yes, you don't want to hire someone to a programming role if they have absolutely no skill or knowledge in the subject and "cannot we write a loop". But that will become quite clear during the interview regardless if you have them doing some leetcode challenge or not. The important part to me is whether they can function in the present team, whether they can employ problem solving skills in a positive way. Sure, let's whiteboard out a problem, show me how you think about it, how you approach it, what steps you take to disassemble it. But also, if you're stuck do you ask for help? Can you discuss the problem without having a solution ready, do you have ideas about how to research it, can you present paths to progress? These are the really important attributes, not "have you memorized this wacky algorithmic solution in the last two weeks". Pure whiteboard tests are just stupid, don't shed light on someone's potential, and carry a context that makes a lot of intelligent high potential individuals freeze up. They select for the wrong traits.
> But that will become quite clear during the interview regardless if you have them doing some leetcode challenge or not.

No, no it won’t. I’ve done 300 interviews when i stopped counting and I’ve had all sorts of people who talk a good game but absolutely can’t code

I second this. I've been interviewing candidates for around 6 years and I feel like the number of applicants with very strong communication skills but that cannot perform the most simple programming problems (basic loop, swapping two variables) went up. For my team and most teams at my employer we employ a simple test with a basic programming problem, code review problem and rudimentary system design problem similar to our actual work. We expect the juniors and medior to not succeed at all of these but do want to see how candidates think and communicate if they get stuck, but a junior that can't sort strings in any language of choice is a hard pass. Half of our candidates past initial phone screen fail this test. I do wonder though if this has something to do with the local (NL) market.
Each company I’ve worked with has attracted a slightly different group of applicants, so I find it easy to believe NL would be different yet.

Whenever I start thinking the problem is the candidates I start asking myself “why?”. Why we came to the conclusion we did, why they applied, why we need more people on the team, etc.

It’s not your local market and this is not new. I interviewed folks at google head office in 2012 so we had people from all over the world and different experience levels and it was the same thing
What kinds of questions could you possibly ask that doesn't immediately surface this?

A person who "cannot write a loop" will not be able to earnestly hold a conversation about programming.

You are so wrong about that. I’ve had people recite gang of four design patterns and talk about template metaprogramming then absolutely fail at writing a doubly nested loop in their language of choice. Coding is a skill that you can only really master with practice not just reading books and blogposts (although that definitely helps)

I asked very basic coding questions that didn’t require “advanced” algorithmic knowledge like DP which are popular at some shops

Exactly. At the other end of the spectrum, having a conversation also exposes the “over prepared”. There are some (few) folks that practice leetcode all day, but that doesn’t translate to team fit and on the job value creation. Not being able to communicate while working (not continuously, small amounts with good effect is fine) is a bit of an orange flag for me.
I realize now I just won’t be able to understand the crowd that wants an easy ride through interview loops and refuse to be put in a hot seat. Do they not care at all who they end up working with? Because you will 100% end up having half of your team incapable of writing software in such places
I don’t accept the premise that being kind and respectful in an interview leads to underperforming teams. My current team is way, way into the “exceptional” range by common measures (DORA, etc). I don’t characterize what I do as “tests” because there is no wrong answer. I’ve never worked on software that didn’t have competition, and so literally different “right” answers.

Maybe it is a test as there is an evaluation, an assessment of fit and ability of compliment the team’s current skills and way of working. That evaluation is uncompromising, not an “easy pass” by any means.

“Kind” as in passing people who probably wont cut it? You’re only being kind in a feel good about yourself sense and just setting them up for getting pip’ed later on. What’s so kind about that?
That is not what I wrote, and not at all what I meant. A high-pressure "test" is cruel to folks who simply don't test well. Simple as that. Interviews can get at the skills of someone without putting them through that.

I can't, so far, think of anyone who faked it past my interview teams over the years. It's not that hard to figure out if someone can actually code, has a sincere interest in it, respects others, craves improvement and measures their work by the value created. I really don't care if they test well.

And, like I said, the bar is actually very high to join my teams. But my teams aren't prototype or manifestations of any theory of teams -- it's just folks getting the work done and enjoying it along the way.

A team of different folks will need different things by definition and still be valuable individuals, each different, each worthy of respect.