3 ms·
For an entry-level position? Sure. For a senior-level position? Don't waste my time. I disagree that the Github repo, resume, etc are useless. You can glean a t
by Jemaclus 13y ago
For an entry-level position? Sure. For a senior-level position? Don't waste my time. I disagree that the Github repo, resume, etc are useless. You can glean a ton of information about me from those data points that can tell you whether I can code or not. You want to know whether I can think or do basic programming skills? Ask me about my repo. Ask me about projects I've done. If I actually wrote that code, I'd be more than happy to go into detail about the work I've done.
Like someone else said, we wax poetic about DRY all the time, yet you're asking me to take time out of my day to repeat things I already know when that data has already been provided for you. Sigh.
You should be able to have an idea of whether I'm a suitable candidate or not before you even call me, and you should know whether I can code or not before you even bring me into your office.
Entry level position? FizzBuzz all day long. It's the only way you'll find out.
Mid- to Senior-level position? There are better ways to figure out my competency level.
My two cents.
- kevinconroy 13y agoGenerally I agree, but I've asked FizzBuzz to mid-to-senior level folks who just can't get it. There are plenty of less qualified programmers who got into entry level positions and have held onto jobs long enough that they are now considered mid or senior level. FizzBuzz provides a great level setter for folks who lack a clearly searchable, well-known code repository. One half-joking suggestion to anyone using your GitHub repo as a resume: make yourself a FizzBuzz project. You can include basic one so the box can be checked, but as a hiring manager, it'd be fun to see novel and humorous solutions to it that show cases your particular background (e.g. front-end developer? Show me the CSS3 solution.)
- tedyoung 13y agoI don't believe the article said that the repo, resume, etc. are useless, it's just that you need to establish a baseline of "can this person code"? Having done hundreds of interviews, I'm sorry to say that even seemingly "senior-level" people (people with years of programming "experience" on their resume) have shown an inability to do basic coding from scratch. It seems there's a subset of developers who cobble stuff together and code-and-fix to make things work. This is ironically less of a problem with entry-level people. Yes, if you have a public repo of code, I'll ask you about it, but I want to see you live code something, both to see the code you write and your thinking process about solving the problem. If you feel that's a waste of your time (and if you're truly senior-level, it really won't take very long at all), that's fine, but I will continue to do it.
- queensnake 13y ago> even seemingly "senior-level" people (people with years of programming "experience" on their resume) have shown an inability to do basic coding from scratch. I wouldn't have believed you a few months ago (and your statement is still stronger than my experience), but I've finally seen people who are so maintenance-bound, that even though they're good at _that_, they've never managed to learn the language (the corners, idioms, and semantics) they've been maintaining. It's probably a sign of heroism that they picked up enough to do so on the fly, but, you wouldn't hire them to write new code.
- archangel_one 13y agoFWIW, I disagree; having seen a candidate interview for a senior position at my last company who couldn't code in an interview at all, I think it's worth three minutes on a basic question to make sure they really do have some ability. I don't believe you can have "10-15 years C++" on your CV and not be able to code something basic. I don't agree about DRY; the whole point is that the data has not been adequately provided until you see it. You do see people with apparently great CVs who are unable to demonstrate the skills in person.
- davidkuridza 13y agoAgreed, but I was unpleasantly surprised when the first senior applicant couldn't solve FizzBuzz. And the one after. And another one. Since then FizzBuzz like basic tasks are part of every interview we conduct, not just for entry level positions. The only difference is the degree of simplicity.
- unoti 13y agoIf a developer is too good to do FizzBuzz for me, then probably he's too good to work for me, and should do us both a favor and go away. I imagine that each time he needs to do something, he'll be asking himself whether it's beneath him or not. As a leader, a senior developer needs to be capable and willing to do anything that gets done underneath his area of responsibility if that's the key thing that needs to be done right now and everybody else is busy doing the thing that they need to be doing. If they're not willing to do whatever it takes, then they're not the kind of senior leader I need. The larger the organization, though, the more room there is for people who are too good to do various kinds of work. But smaller teams, where the highest productivity is, need flexible people.
- yohanatan 13y agoAgreed. If the interviewers are not competent enough to detect those who would fail FizzBuzz through other means (like a simple, respectful conversation about any technical topic) then I would not want to work with them either.
- mariozivic 13y agoIMHO, you are looking at it the wrong way, that is the candidate's way. From the employer's point of view, it's all about determining the most effective way of finding out if you're a fit or not. In my personal experience and confirmed by the research I've done, asking basic coding and simple problem solving is the most effective way to eliminate applicants on which you don't need or want to waste your time. Most common "exception" is if one is interviewing what he considers a superstar, but then we are not actually talking about an interview, but rather a sales pitch. I find that Brian has put it perfectly in the last paragraph: "A solid answer to FizzBuzz is like a firm handshake when meeting your new boss or like opening the door for your date. It’s an introduction that sets a minimum bar and guarantees that neither the interviewer nor the candidate is wasting the other’s time." And then you ask for Github, resume, whatever-you-find-relevant.