Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As a programmer who is for-sure well past "fizzbuzz" quality and has been for a while now, I can just about guarantee I've left interviewers with the impression they dodged a can't-actually-program bullet when they rejected me, a couple times.


Yea, I sympathize with the idea that some people freeze up really badly during whiteboard interviews, which is why I'm usually testing competency far below what I need out of the job. On top of that, the signal is richer than binary; it's possible to fail to solve the question posed and still give an example of how you think.

Interviewing is attempting the ridiculous feat of predicting years of job performance on the basis of a few short conversations, so there are going to be false negatives in every interviewing technique. The things I describe above lower FNs to the point that whiteboarding is a very useful tool for assessing candidates.


How it happened?


I tend to basically forget how to use a computer when people are watching. To prep for interviewing I also have to try to memorize a bunch of stuff about some relevant language because otherwise, without surrounding stuff to crib from, I'll straight-up forget basic shit about it, and that doesn't always stick. I'm talking like "what does method invocation look like in this language?" Under pressure it can and does happen for languages I've been working in 5 days a week for the last year. And I guaranfuckingtee if I write more than a few lines I'll end up using the wrong name for some standard library function I don't use daily—again, I drill these around interview time just in case, but it doesn't always stick. I'll also get really timid about using editor features, if I'm using a real computer and not whiteboarding, because I start second guessing every keystroke.

Further, most interviews I encounter don't do this and the ones that do tend to be all goddamn cagey about what to expect so I never know in advance, so I don't have a home whiteboard to spend hours and hours practicing on and if I did I wouldn't know which interviews need such prep and which don't so I'd probably end up not bothering, since it's just a few that do it.

I don't even have significant social anxiety or anything, and I have been told I come off as very confident and competent—unless the whiteboarding algo shit comes out, at which point there's a 50/50 chance I'll look like a total dunce (Nb. I can and do get The Actual Work done, no problem, once hired—that part's easy)

Since I only interview every few years and, again, this problem hasn't stopped me from landing jobs at about the same pay rate as the other ones that rake me over the coals (though not FAANG or near it) I've not spent the significant time it'd take to fix this. We'd be talking lots of hours to prep for FAANG tier, and probably a year. Don't care enough to do that. I did spend the time & effort to improve how I come off in more conversational parts, gradually, over the years, but that was relatively easy and doesn't rust as fast (since, you know, I don't get to practice interview-type coding on the job, but I do frequently have opportunities to practice relating to people).

[EDIT] I don't mean to be whiny or call the grapes sour—I simply haven't put the work in to (as I posted elsewhere in the thread) turn my efforts at leetcode from practice to performance. And again, for the roles I'm applying for I'm not losing any money by occasionally being rejected because they decided to give me a puzzle expecting a recursive & memoized (DP) solution rather than ask me whether I know WTF recursion and DP are and when they're usually useful, so the worst they do is waste a day of my time (honestly, why the hell are places so secretive about what's going to happen on interview day? Fucking Google's not, Jim Bob's Software Widget factory can afford to tell applicants the sorts of things they'll be talking about and the kinds of exercises that may come up)


That hit me where it hurts most. I sometimes forget how to declare a class or how to initialize it, because when I working just click to another file and look it up. I had an interview a few days ago where I came out as a complete moran. I did a take-home test which I was proud of. I expected we will discuss that. It was pair programming. I did some silly mistakes at the beginning and my brain shut off after ~15 minutes. In the end, they said: "We will notify you..."


> I also have to try to memorize a bunch of stuff about some relevant language because otherwise, without surrounding stuff to crib from, I'll straight-up forget basic shit about it, and that doesn't always stick. I'm talking like "what does method invocation look like in this language?" Under pressure it can and does happen for languages I've been working in 5 days a week for the last year. And I guaranfuckingtee if I write more than a few lines I'll end up using the wrong name for some standard library function I don't use daily—again, I drill these around interview time just in case, but it doesn't always stick

Anyone who cares about using the wrong stdlib function is bad at whiteboard interviewing. That's exactly the kind of thing that's easy to mess up in an interview, as well as completely irrelevant to job performance.

I've been writing in C++ for the last couple years, and I'd probably screw up writing a new class from memory 50% of the time.


This is a really common experience. Work samples were supposed to be the answer to this, though I've had really awful experiences with work-sample companies.


Luckily I've also been doing this long enough that for every one that asks for a project or wants me to live-code, there are two that chat with me for 2-4 hours and come away eager as hell to get an offer to me before I accept one somewhere else, so it's not that big a deal. I mostly just wish places were more transparent about this stuff so if they're gonna whiteboard me I could either put in some targeted prep work so I (maybe) don't look like an idiot, or else say "thanks but no thanks" and save us both some time if I can't or don't want to cram that week.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: