Hacker News new | past | comments | ask | show | jobs | submit login

My CS degree should be more than adequate to show I can FizzBuzz.



It should be, agreed, but you'd be shocked at how many CS degree holders can't do it. That's the thing with a lot of the nightmares in interviews. They're there because there is a huge number of people who apply, lie about their abilities, and need to be filtered.

It's also incredibly difficult to fire poor performers in most modern companies, so managers are very touchy about who they hire.


The goal of each step is to weed out the maximum number of applicants possible that you actually want weeded out. A quick FizzBuzz before the phone screen should clear enough of a number out to justify its existence.

And, again, it should be something doable in under a minute. The best I've seen is a bonus screen on Indeed that has one of a dozen sample 20-line programs and you just have to point out which line is incorrect in the program.


Perhaps, but maybe your CS degree comes from a university I haven't heard of. Perhaps it was ages ago and you haven't coded in years. Perhaps it was an entirely theoretical degree with no coding at all. Perhaps you are lying. FizzBuzz takes considerably less time and effort to verify your basic coding ability than checking all of these things.


The applicant who tries to pull "My CS degree" rather than take 3 minutes and write a half dozen lines of code is part of what FizzBuzz is filtering out.

And yes, there are many people with CS degrees who can not, even with much help and prompting, FizzBuzz.


Sadly, it's not. It should be though. I know HN hates formal certification and licenses, but we really need some kind of reliable credential or signal that a candidate can program up to some very low baseline skill level. Not a signal of mastery or deep knowledge, just a very basic "this person has shown he can write a for loop and design a function with arguments and a return value." This would cut out all of the first round screens.

I've interviewed people who claimed to be practicing engineers for 5+ years, and had big name companies on their resume, but became lost when asked to write a simple (no trick question) program in a language of their choice.


> I've interviewed people who claimed to be practicing engineers for 5+ years, and had big name companies on their resume, but became lost when asked to write a simple (no trick question) program in a language of their choice.

I always ask people to stand back and consider if this is actually possible.

Someone who has been at a big name company writing code for 5+ years clearly has been writing code. (You can confirm this with the company as HR will issue a statement saying J.Doe worked there from date to date and what job title they had.)

So there's two possibilities. Either they've been writing code at a known company for 5+ years and can't write an if statement. Or, they can but are too stressed by the interview setup they don't even remember their own name.

The latter is about 1000x more likely than the former. If they truly can't write an if statement, they would've been PIP'd out of that large company before 5+ years.


To be fair, background checks take time and cost money. You might want to only do it if you are seriously going to hire. Imagine if every company you applied to called all your references before even making the decision to hire you. Your references would be pissed, even if you've got a good relationship with them.

It is true, however, that people don't generally seem to give enough benefit of the doubt in interviews. This could be an illusion sometimes. If interviewers give you the benefit of the doubt and someone else does way better than you or has a better resume (or cheaper pay rate), you won't get the job.


> To be fair, background checks take time and cost money.

Background checks do, and a company shouldn't (and don't) do that before being ready to extend an offer (actually it's usually done after extending the offer, just a contingency).

However, a simple employment check is easy and quick. (Perhaps even automated by HRIS systems these days, haven't kept track so not sure.)

Why waste ~6 hours of expensive senior engineer and hiring manager time doing rounds of interviews before doing a simple check on whether the resume is correct about employment place/title/duration?


"Simple" employment checks for casual reasons amount to spam. Most importantly you may put the candidate in a position of being known to be on the hunt for a job. That kind of shit gets people fired at some companies. I have had recruiters try to "verify" my employment but really they are trying to get in good with a manager who may soon have an opening, even if it screws you over. Sometimes management is very petty and will just fire you to make an example out of you for daring to have higher ambitions.

Also, I've seen records from my most recent background check, and one of the companies I worked at simply didn't answer questions, and hardly ever picked up the phone. Almost nobody at any company I worked at had a phone, so it all had to go through HR. And again, if each unemployed worker gets like a dozen interviews, this kind of frivolous checking will generate hundreds of pointless phone calls.

>Why waste ~6 hours of expensive senior engineer and hiring manager time doing rounds of interviews before doing a simple check on whether the resume is correct about employment place/title/duration?

I think it is rare for a faker to make it through to an interview, much less even pass the first 1 hour session. Failing the background check is rare. I think it's safe enough to start with the assumption that a resume is correct and work from there. You should be able to detect most fakes because they will be screwed up in obvious ways.


I don't think HR can confirm code writing or anything other than start and end dates and job title. So the code writing is not guaranteed. I have seen people in small companies getting by for years without writing any code, literally their source control history was empty, no commits at all over period of several years or a dozen of trivial commits at best. But asking HR is not a bad idea, people believe that like in love and war everything is fair in job applications too. There is a lot of lying on those.


The latter may indeed be massively more likely than the former. But, how many companies verify the former until right before the offer stage? I know I don't call HR at random companies to verify that Jane or Joe Candidate actually worked there before deciding to interview them.


How would that be different from a CS degree?

> I've interviewed people who claimed to be practicing engineers for 5+ years, and had big name companies on their resume, but became lost when asked to write a simple (no trick question) program in a language of their choice.

I've failed these tests, sometimes for code I literally exactly have on my GitHub and that I've written from scratch (effort-free).

Live coding with three random strangers staring at you just isn't the same.


CS degree tells me you've been exposed to concepts at an academic level and maybe even mastered them, but it tells me nothing about hands-on programming skill or how productive you are.

Kind of like an English Literature degree shows that you know a great deal about the language and have read many works but tells me nothing about whether you can write a compelling novel.


We had an intern decide to follow up his internship by doing the hiring code challenge (basically like an hour to write some slightly more complicate than fizz-buzz stuff) in a different language that he knew much less well than our main language. I don't know if he just didn't want to work with us, or it was just a "I've been trying to learn language X in my free time, let's see how it goes" thing. It was kind of funny because my boss had been angling for him to get hired but didn't really know what to do.


>I know HN hates formal certification and licenses, but we really need some kind of reliable credential or signal that a candidate can program up to some very low baseline skill level.

Most bachelors degrees in CS from accredited schools are exactly this, regardless of all the smack people talk about new grads. It is rare to see a school teaching CS without a significant programming curriculum. Schools take advice from industry to improve outcomes.

If you can't take the word of a long-standing institution that tested an individual for 4 or more years, what kind of certification are you expecting people to get?

>I've interviewed people who claimed to be practicing engineers for 5+ years, and had big name companies on their resume, but became lost when asked to write a simple (no trick question) program in a language of their choice.

People get nervous, can have a bad day, or be intoxicated. And a significant number of people you're talking to might be overtly lying on their resumes. Your "no trick question" might also just be a bad question: too hard or ambiguous, or very different from what the candidate has seen. Some interviewers are overly confident in their ability to ask relevant and comprehensible questions, or else too particular about what they will accept.


Why would someone be interviewing while intoxicated? If they'll do that, doesn't bode well for on-the-job performance.


People take medications for various things that have unexpected side effects. Recreational drugs can have longer than expected side effects. Sleep deprivation has been likened to intoxication. Then there are the things some people take for granted, like caffeine and smoking. Hell, even being too hungry or too full can mess someone up.


I once gave a person with a PhD and published papers in graph theory a question that could be straightforwardly solved using simple graph algorithms. This person couldn't pull off a for loop despite having other programming jobs on their resume.


Could have been me at some point in my career.

One time, I interviewed while on burnout (general startup stress + workplace bullying). The position was a perfect match, but I was so exhausted that I couldn't write a simple loop. I was rejected.

After a forced health break, I applied at Mozilla, got hired, shipped code and specs that are currently used on most devices on this planet and at least one in orbit.

So, yeah, I'm not a big fan of judging people from their performance in an interview.


I believe it. But, we also have no good way to distinguish between "guy who is so burnt out he can't write a for loop" and "guy who couldn't write a for loop under ideal circumstances."

Even if we did, hiring someone that burnt out just doesn't seem like a great idea. You were a fundamentally different candidate after your forced health break. What do you think the odds are that, had you actually been hired while burnt out, that you could have succeeded at the job at Mozilla? Without the time off, I'm guessing those odds are low.

I realize people have to make a living. Believe me, I do. And I don't think people ought to be as heavily penalized for needing to take extended amounts of time off work as they are. But, I also don't see what a company in a capitalist economy can do about it while still remaining competitive.


"Trust, but verify"


hahah. No...this is how we got into this situation. You'd be surprised how many CS grads can't do fizzbuzz, or maybe they can do fizzbuzz but they don't quite get recursion or graphs, much less harder concepts..




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: