Hacker News new | ask | show | jobs
by perl4ever 2320 days ago
"You'd be shocked how many people that write years of relevant programming experience and fail that."

Do you find people who did well on a preliminary test where they wrote some code fail this? If not, then why do the whiteboard? If people do fail, do you assume it's because they cheated on the previous test?

I think your stated explanation is incoherent, because you are claiming that self-taught developers can "get something done" without being able to write your ultra-simple algorithm. How can that be? You're not saying that someone can't handle B-Trees and you therefore won't hire them, you're saying they can't do anything and yet somehow they were hired and do stuff at other places. If they can "get something done", why are they useless?

If your comments are based on a lot of genuine experience and sincere and heartfelt, had you considered that maybe what's going on is simply that a large percentage of the people in the industry do not and cannot do whiteboard programming, but only write code at a computer? I have literally never had to, to get a job, and I'm not sure I can remember doing it in undergraduate classes either.

Joel Spolsky (and no doubt others) wrote something about how you can't hire the best people by just advertising a job because mostly the same people apply to all the jobs and the really good ones aren't in your pool.

But a corollary to that, I think, is that when you do hire some decent people, and you go on doing it, because it worked adequately, you are likely to wrongly conclude that is what decent people look like. It's not just the rock stars that are missing from your pool, it's the people who are terrible at interviews and are much more loyal to a job than those who can handle whiteboards and small talk. You may be in a bubble where you, and the people you hire, are working much harder than people in another bubble, but it's just a different way of doing things, not the only way.

I think this idea of your hiring pool not being representative and getting wrong ideas of what good and bad people are like has implications for diversity of various types, but I'm not going to flesh that out here.

1 comments

> Do you find people who did well on a preliminary test where they wrote some code fail this? If not, then why do the whiteboard? If people do fail, do you assume it's because they cheated on the previous test?

My preliminary test is a phone call if there is more candidates I want to interview than I have time for. No coding.

> you're saying they can't do anything and yet somehow they were hired and do stuff at other places.

I have not stated that they've worked other places. I said that they claim to have worked at other places - that is a very important distinction.

> If they can "get something done", why are they useless?

I don't need people that can "get something done", I need people that can work in a team, do code review on both sides, do pair programming when the situation calls for it.

> It's not just the rock stars that are missing from your pool

I do NOT want a rockstar. They're expensive and not that much more productive. I want a great team and you build that carefully with hard working people that complement each other.

> it's the people who are terrible at interviews and are much more loyal to a job than those who can handle whiteboards and small talk.

We've had our share of people unable to perform a whiteboard "problem" as interns and for one-off things. Commonly for those that was unable to function in teamwork, was that they want a task and be left alone. That is not how you produce great software, and it certainly is not how we do it because of the software we write.

> I think this idea of your hiring pool not being representative and getting wrong ideas of what good and bad people are like has implications for diversity of various types, but I'm not going to flesh that out here.

Again, my goals are people that can work in a team. A whiteboard is representative for both communication and a basic level of competency.

"Again, my goals are people that can work in a team."

Ok, but what does that have to do with writing code on a whiteboard? I'm telling you a fact - there is a whole world out there that doesn't do it, before or after a hire, and yes, of course they work in teams. I'm not out for an argument on how people should do things, so don't make it into one.

Because we actively put people in the spotlight when discussing solutions or issues. Sometimes it's a whiteboard, sometimes it's a shared coding session, or something else. We use whiteboards extensively, and there is a good reason people do this in teamwork from educations all the way to the very top of engineering teams.

I have had a team that wanted to just chat on Slack and approach the tasks in a divide'n'conquer fashion. It does not work, and introducing a "lead architect" to structure everything is like pulling the reins of a mule - it will move backwards. Everyone needs to participate and feel shared ownership.

So if people cannot code simple shit on a whiteboard, it's my experience that they are a poor fit for this way of working.