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."
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.
> > > 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.
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 think that sort of worldview puts you below the hiring bar, regardless of your technical ability.
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’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.
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.
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.
- 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.
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?
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.
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.
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.
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.
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.
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.
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”.
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 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.
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.
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.)