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

OK, I'll write your desired fizzbuzz in Haskell in a way that you won't be able to understand it for the next 30 years. You'll moreover piss me off and get a placement on my blacklist of companies to never work for and me actively spreading the news about your interview to anyone capable I know, hoping nobody is going to waste time interviewing for your jobs. Happy now?


No, not happy now. Your technical skills may be off the charts, and your criticism of fizzbuzz may be completely valid, but I don't want people with that kind of attitude anywhere near my team.

There's going to be stuff that isn't done the way you want, in the company policies, in the code base, in the architecture, in the way the team works. If you're going to respond in an I'm-above-this, salt-the-earth kind of way when that happens, then no, I don't want to hire you. Go destroy some other workplace.

As I said, this is orthogonal to whether your criticism of the use of fizzbuzz is valid. Your response may make you feel better, but it's showing me a lot about who you are, and it's not improving your hireability.

If I were asked fizzbuzz in an interview, I think I'd say something like "I'll answer that. But I expect the rest of the interview to be at a considerably deeper level."


You are making amazingly far-reaching decisions from very limited information, a quality I definitely wouldn't want to see in my superior. A dislike of a certain test must mean "to destroy some workplace". I am now wondering if all the issues we see with politics lately are happening because people are becoming single-dimensional, unable to even consider someone else's view if the way it's presented slightly deviates from what they demand.

As somebody who was often interviewing other people fighting for jobs at top companies I worked for, I would never ever offend them by throwing FizzBuzz in their faces; I don't have such arrogance in me. I would rather try to figure out what clicks with them and throw them something tasty where they can show off, then increase pressure to see what needs more work, then explain/discuss what could have been improved. I would respect their time and help them to learn something on that single interview they had with me. Never throw into their faces that they are frauds which is implied by employing FizzBuzz. One doesn't have to be a super psychologist, just simple empathy is sufficient to understand that people perform best when they are respected and treated as adults.


In the great-grandparent, you said:

> > > You'll moreover piss me off and get a placement on my blacklist of companies to never work for and me actively spreading the news about your interview to anyone capable I know, hoping nobody is going to waste time interviewing for your jobs.

Now you say:

> A dislike of a certain test must mean "to destroy some workplace".

That was a bit more than "a dislike of a certain test". If we hired you and you reacted that way to something you didn't like, that would be in "destroy the workplace" territory.


You mean me employing colored words, even if they nowadays became pretty much colloquial without harsh emotional content? In that case I apologize, though at that moment when I was writing it I wanted to emphasize that I viewed this whole FizzBuzz charade insulting, basically treating interviewees as frauds. I think sometimes for the sake of proper behavior reinforcement the use of those words is vital and they fulfill their proper linguistic function when needed, otherwise they wouldn't have existed. They likely made you feel bad, which is exactly what I wanted to achieve whenever anything about FizzBuzz is mentioned; I hope this feeling stays with you and just for the sake of feeling good you would avoid FizzBuzz from now onwards.


Your words made me feel bad about you, not about myself or even about FizzBuzz. If your intent was to emotionally manipulate me into not using FizzBuzz, you utterly failed.


I have interviewed candidates for Senior DBA positions who didn't know to write a simple JOIN statement.

Reading this thread only solidifies my desire to ask for FizzBuzz, so that I weed out 2 types of candidates :

- those who are too bad for it

- those who are too good for it


I was specifically addressing the FizzBuzz problem as stated in the original article a few years ago, not some random sanity checks for some positions. If you read that article and used it in interviews, you'd have demonstrated to me your disregard of experience, your lack of inventiveness, laziness, and far reaching arrogance, qualities I wouldn't want to see in my superior, so it's obvious it'd be better to avoid each other and maybe meet only on the golf course or as competitors/suppliers.


> You'll moreover piss me off and get a placement on my blacklist of companies to never work for and me actively spreading the news about your interview to anyone capable I know, hoping nobody is going to waste time interviewing for your jobs.

I think that sort of worldview puts you below the hiring bar, regardless of your technical ability.


So you are only willing to employ desperate people that allow you to literally walk over them in the interview? Like there is no other suitable exercise to give them, just the absolutely worst one to make them depressed?

Next time you need a lawyer (I am sure you will), ask them which new laws were enacted in the UK in the year 1648 and if they couldn't answer, don't hire them!


I hire people that can follow the process. I’ve had to establish processes for a department that the cowboy coder in me didn’t like and that I made myself follow.

I’ve also had to implement processes for some type of compliance reasons - most of the time HIPAA. The last thing I need is to be sitting in front of lawyer as Directly Responsible Individual, explaining why we weren’t in compliance.


OK, it makes sense in regulated industries; I had to pass some HIPAA-related exams to even process some medical data for Deep Learning so I understand that part. Still, it's premature to call anyone not willing to do FizzBuzz a cowboy coder, isn't it? ;-)


There are a lot of things that you aren’t going to want to do but we had to for various reasons - everyone has a boss. The last thing I need is someone who is going to fight the process the entire way.


How do you think bosses are made? Usually two ways - by kissing up and befriending managers or by improving processes & methods that are no longer functional and becoming detrimental to the future of the company. I would side with the latter even if it is way more difficult than to make somebody feel good about themselves.


But that’s what you don’t get. It’s much easier to get your ideas through if the manager and your coworkers like you and trusts you. You would be amazed at the processes and changes you can make just by having the interpersonal skills to do it.


What if I have those skills, can "make everybody love me" (...) & build a wonderfully harmonious company together, but I still hate FizzBuzz and avoid anyone who uses that on me, hard pass/hard filterish-way?

As you mentioned above, you treat it as a double Bozo filter, I treat the use of it as a Bozo indicator and as "passing the Bozo event horizon in this company right now"; and my decision to walk away is like getting out of a dangerous situation with a black hole next to me.


The FizzBuzz challenge is not aimed at good coders. It is aimed at bad coders. Assume you are in the hiring seat. You need a simple and quick way to find out if the person is completely B.S his resume, so that you can move to tougher questions, or end the interview.

For instance, if you said you were a skateboarding pro on your resume, the first thing I would ask you to do is an ollie.


That’s up to you if I needed “smart people” (tm) to solve “hard problems” (tm), you may be that special snowflake that could write the next PageRank algorithm, but if I am hiring for yet another software as a service CRUD app, finding “full stack developers” either locally or overseas is relatively simple.


Well that tells me two things.

- if when you looked at the job req and it said we were looking for C#/Java/Python/JavaScript developers and you wrote it in Haskell, that’s one signal that you probably won’t produce solutions that meet the customer’s need.

- if we are hiring Haskell developers and I can’t understand the code that means you write unmaintainable, over architected code and that you would still be a net negative for the company.


You didn't get it, linguistic gymnastics here is unnecessary. I could do the same in a language of your choice. But testing me with FizzBuzz without looking at my CV at all is putting you into "garbage employer" category and I wouldn't want to waste time with you. Did you get 5th grader questions on your university exams as well?


> But testing me with FizzBuzz without looking at my CV at all is putting you into "garbage employer" category and I wouldn't want to waste time with you.

This would concern me that you don't validate your input. Just because the contract says something doesn't mean that's what you are getting. Trust, but verify. I trust that your CV is accurate, so I'm giving you a test that won't take up too much of either of our time to verify that you can code. Why? Because I've seen enough CVs better than yours where people can't do FizzBuzz.

Not wanting to FizzBuzz is also concerning because if it's a proven method of validation, why spend extra time and resources on something more that will only tell you the same thing?

So, to me at least, your antagonism here is really you wanting to waste resources and/or not validate input. Neither are good signs.

> Did you get 5th grader questions on your university exams as well?

If a 5th grader question is good enough to answer something, why bother with a 3-hour exam?


> So, to me at least, your antagonism here is really you wanting to waste resources and/or not validate input. Neither are good signs.

No, I want you to give me properly challenging questions to prove you deserve to be my employer (as I will be doing the hard work to make you a gazillionaire). FizzBuzz tells me you read one article a few years ago, didn't think about it at all (why could that be a problem?), and now give it left and right to anyone that has the bad luck of interviewing with you. You are telling me you are arrogant, prideful and lazy.


That’s the easy stuff. Why waste time on the harder stuff if you can’t do the easy stuff? What does that tell me about your work ethic if you think you are too good to do FizzBuzz you probably also think you are too good to fix an off by one defect we found in production.


How can you be happy to have an off-by-one error in your code? Moreover, how can you come to a conclusion that a person that is not willing to do FizzBuzz would be happy to even ship something with off-by-one error?! Complete non sequitur... Let's wrap up this discussion for today.


No one is happy with bugs but bugs happen. If you aren’t willing to do a FizzBuzz type problem because it is too “simple” you also probably will think being assigned a simple reported defect is beneath you.


You realize you are only reinforcing the use of FizzBuzz as a test. If it gets rid of people like you applying, it's done its job. Wastes less of my time, and ensures I get the better hires. Thanks!


I wouldn't want to live in your bubble when it comes crashing down and you have to face reality of your competitors.


Have you considered that FizzBuzz is a warmup question to see if you're worthy of a properly challenging question?

The interviewer has multiple responsibilities, one of them is candidate experience. If I start with the "challenging" question and the candidate isn't ready, then I learn nothing other than they can't do it and the candidate suffers, completely lost.

But, if I start with a middle-to-low bar question, then I can always get data and easily extend or follow-up the question with something more challenging appropriate to your skill & experience.


Dunno, the first time I went to Google interview I had absolutely brutal one as my first question (a complicated dynamic programming on combinatorial problem without closed form solution), and I absolutely loved it and after some discussion with the interviewer came to a solution in about 20 minutes, all on whiteboards I hate. I am not sure why wouldn't you rather use the time for interview or something more meaningful than to test if somebody can do a programming equivalent of 1+2+3 when you can observe from their CV that they probably aren't complete beginners and you are interviewing to get somebody for a very senior job.


You can put anything you want on your resume. People lie all of the time.


People lie on their resumes. I got tired of doing double duty as a developer and the “AWS Architect” and was finally able to get a req to hire someone. Plenty of people came in with certifications and “experience” up the wazoo but couldn’t answer simple architectural questions.


It's a real problem, I agree. However, from the point of view of a competent programmer you need to entice them to work for you, not the other way round. The competent one also has to filter out incompetent managers/companies; I'd suggest having FizzBuzz on the interview is one such a nice signal for competent coders to stop bothering and move on.


The equivalent of FizzBuzz for an AWS Architect is setting up a highly available website with a domain name, load balancer, autoscaling group, and the correct subnets, security groups.

Except for the autoscaling group, all of this is basically networking 101. Their “resume” said they were “certified” and had experience. If you can’t get through the easy questions, no need to waste time on the hard questions.


I wouldn't do something like that, but I have sympathy.

If they didn't lie, then they wouldn't have gotten as far as they did. Everybody wants self-starters and people who can learn new things, but the person who already has experience in a laundry list of X, Y, and Z is always going to be preferred before you find out if they are a fraud.

What I did, in order to start doing something new that I didn't have experience in, was (although I didn't exactly plan it this way) to get a job that was explicitly administrative and did not involve programming and start automating it.

I don't think it's right or wrong that some people find IT culture (including interviews) intolerable, but the flow of people out of it shapes it. The more you rely (even unwittingly) on getting and keeping people who are ignorant there's something better out there, the more the ignorant (and/or incurious) shape your organization.


I wouldn’t say they explicitly “lied” that would imply that they were all being intentionally dishonest. I think many of them thought they knew more than they did. I see this not only from people who are just starting out, but also from people working at BigCo.

Putting my developer hat on. I interview a “senior developer”

They say on their resume that they have “used AWS”. Come to find out that all they have done was remoted into some EC2 instances.

They say they have used a certain CI/CD platform. I ask them have they set a pipeline up from scratch. They say no - someone else did it, we are expected to “own the whole stack” including setting up our own pipeline for our microservice. Not a deal breaker. That can be learned in a day. We have plenty of samples they can copy from existing pipelines for almost every scenario.

They put down databases they are experienced with. I give them a scenario and I ask them to model a table schema with it. They can’t do it. They are usually handed a table schema by the “database developers” [sic].

So finally I start working my way up to the actual development and I realize that because they were just a cog in the wheel at BigCorp, they never got a chance to design or write anything from scratch. They never had the joy of creating a brand new repo and doing a git commit with the message “initial commit”. Not horrible, but at a small company, you don’t get any handholding. You’re expected to work directly with the semi-technical product owner or even the end user if you’re senior enough. You are the Directly Responsible Individual.

So now, it’s demo day. The “senior developer” is demoing his code to management who is asking him questions and he melts under pressure or he gets defensible about “his code” and interrupts the CxO.

I want to know his temperament before I hire him.

I know people are going to say it’s not “fair” to expect that from a developer. I’ve had to learn every level of the stack. At some point you can’t call yourself a “senior developer” if you don’t know anything about the underlying infrastructure for your code or how to deploy it.

The next pushback I get is that J don’t remember what’s its like being a junior developer. Six months into my first job I was told to write a distributed data entry system that was going to be used to create a new department in the company. I had to sink or swim by myself - this was over two decades ago.


"Six months into my first job I was told to write a distributed data entry system that was going to be used to create a new department in the company. I had to sink or swim by myself - this was over two decades ago."

This seems to not jibe with the rest of your comment. You were defending not giving someone a chance to dive in, and then you say you had to learn to swim on your own.

Now, perhaps your point is that such a person should have the humility to classify themselves as something less than a senior developer, and then get that experience similar to you.

However, I wonder if the issue is that anybody with more than a couple years of experience is considered to be a pariah if they aren't a senior developer, which goes hand in hand with everybody inflating their experience in a vicious cycle.


Well. I got lucky. I was hired as computer operator the year after I graduated based on an internship the year before at the company - I only accepted to get to $big_city.

I was the only one that knew how to program on staff.

So yeah, taking a job as a computer operator took a lot of humility. But, it was either that or be stuck in a small city doing COBOL programming.

Even today, it took a little humility to go from being the dev lead at one company, turning down a dev lead position at another company to become an IC who is officially under less experience team leads. But, I needed to fill in some gaps in my resume.

Off Topic: I think you are one of the few people on the internet that knows the word is “jibe” not “jive”.


I think in your case the test worked perfectly.


Help me to decode your statement please. Your point was ...?


That your response to the question revealed multiple important facts about your attitude and inclinations (many of which have been pointed out by sibling comments to mine) which would give me serious pause before hiring you.


Could it be that I am simply fed up with the infantilization creeping into our business everywhere, pushing everyone to standardize on the lowest common denominator, yet I am capable of "building rockets" in metaphorical sense and refuse to play this insane game? Maybe I wouldn't want to work for a person like you and am assessing your abilities during interview, coming to a conclusion that we aren't compatible and I would be just massively slowed down by your attitude instead of unleashing my full potential? I've wasted too much time on these types of people, it never led to anything, and my filters are now calibrated to identify and reject them quickly.


It certainly could be, and I don't know I'd even disagree with you. A fair proportion of us here have ambitions and a bit of an ego. But the ones I'd want to work with also have some empathy. I know I'm good, but the interviewer doesn't, so if it they ask me to show I can do 2+2 I'll tell them 4 because it costs me nothing and the only reason they're asking is that the last candidate talked the talk and then said -17 and burned them. I mean, it's been a long time now since I did an interview, but that's what I'd do.

Now that I think of it, why are you interviewing if you're such a hotshot? Shouldn't they be chasing you? Or was this purely hypothetical and you're already set for life?


I am beginning to be intolerant to anyone one-sidedly requesting my empathy; I did it for multiple years but it turned people into takers and I believe they need to grow up personally instead of expecting somebody to be nice to them when they aren't willing to be.

I don't leak personal info about me on HN; let's say I have my own clients and too little time to do more things, and from time to time I interview as a sport to keep me up-to-date in case I need it in the future. In the past year and something I turned down Mark Z's company a few times as well as I work on more interesting things for more $ and with more flexibility (travel around the world yay! studying part-time at top schools etc.) than I would have achieved there.


My desired fizzbuzz? I don't use fizzbuzz when giving interviews. "This person doesn't appear to understand why people use fizzbuzz in interviews" is not the same proposition as "Everyone should use fizzbuzz in interviews".

Anyway: If it somehow happens that I'm interviewing you and you write a fizzbuzz program in super-fancy Haskell designed to be incomprehensible (if it's not designed to be incomprehensible then no, I'm not going to be unable to understand it for 30 years), then from my perspective I've learned: (1) you can indeed write code, (2) you're very smart, (3) you're a bit of an asshole. That's actually quite a lot of information for five minutes of interview time. (If you're super-smart but it takes you more than five minutes to write that fizzbuzz program, then you're prioritizing being an asshole over doing the job, because for sure you could have done it way quicker if you'd wanted; might not be a good sign.)

And if it somehow happens that I'm interviewing you and you misinterpret something entirely different that I say as advocacy for fizzbuzz in interviews, and go off on a rant about how no one any good should ever work for my company: no hire, have a nice day.


Instead of considering me an asshole, maybe you could think of it as a silent protest done in an intelligent fashion. You are indicating I am a fraud by employing FizzBuzz on me, I am trying to maneuver out of it by showing you my dominance and the level of my abstract thinking you won't reach. Now who is a bigger asshole when it comes down to it? You started it... I'd have preferred a reasonable interview to be honest, but when it comes to responding to unreasonable requests, I can do my part... I value my time, you attempted to offend me, so in order to get something out of it for myself instead of writing off that time segment, I have some fun with your inability to understand. If this offends you, you were repaid in kind.


Once again, I am not employing fizzbuzz on anyone.

But it's not indicating you are a fraud, it's indicating that some people in your situation are frauds, which lamentably appears to be the case.

And your response to this situation where someone who at this point knows only what's on your CV and therefore hasn't yet ruled out the possibility that you might be a fraud gives you the chance to show you aren't one is ... to "show[] you my dominance"? Yeah, that's definitely a good idea in an interview situation.

No one "attempted to offend" you. (Well, I dare say people have from time to time. But if you interview for a job and someone asks you to write a fizzbuzz program, they are not doing it because they want to offend you.) They were in the unfortunate situation of having to hire someone in an environment where some candidates turn out to be much worse at the job than the readily available evidence suggests. They gave you a chance to show that you aren't one of those candidates. You took offence at that because somehow the interviewer was supposed to just know that you're one of the good ones, and reacted by trying to demonstrate your "dominance". I suppose the good news here is that everyone's glad you didn't get that job.

(As for "the level of my abstract thinking you won't reach", once again you are making assumptions that go beyond what you actually know. Like it or not, some people who are plenty capable of abstract thinking use fizzbuzz-like interview questions.)


We are talking in hypotheticals, don't know each other, so my "view of you" is just imaginary, don't take it seriously. Also, putting words in your mouth was again just an abstract linguistic device, "what if"... However, I simply object to the use of FizzBuzz; there are like millions other problems which I can get, but if somebody uses this one because "it was cool on Reddit/HN/etc.", it just leaves a very bad impression, and I was expressing my feelings here (as I am well aware of the original article and the trend it started since). If you created your own simple check, I wouldn't object (likely during phone screen?), but I would consider you an arrogant asshole if you gave me specifically FizzBuzz, as its use implies infamous "idiot"/fraud assumption and became a part of programming folklore with really ugly connotations attached.


As others have said, not being willing to do it fails the attitude test. It's not actually demeaning or difficult for most people, although for underprepared people from nontraditional backgrounds it can be a bit upsetting. So smile, write the answer, say thankyou and move on to the next question.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: