At work, would you rather have a boss that makes you implement dumb ideas? Or would you prefer a boss who recognises that your idea is better, then rewards you for it?
I probably wouldn't have hired the candidate, at least for the position as stated.
My reasoning is that the company advertised a position for a senior engineer with 4 years experience. Leaving aside title inflation and whether someone with 4 years experience is actually a senior engineer, and leaving aside the really dumb test, that position requires communication skills, common sense, maturity, and just generally knowing what's going on. A candidate who misreads the situation in an interview so badly that they can't take the interviewer's unsubtle hints is going to mess up other communication within the company, has likely never been on the other side of an interview before, and is at risk of allowing the kind of "clever" code that destroys companies.
Again, this is only a problem for a senior engineer. I want junior and mid-level engineers to be clever and enthusiastic. Senior engineers are meant to understand that I have five interviews this week and their attempt to channel Aphyr[0] is going to make my life harder when I want to talk about their thoughts on maintainability.
Yeah I was thinking it was extremely well written. I want to be on their side after reading it, but I've encountered enough individuals that are completely different people online than how they are in real life. Especially in the way they communicate and how they speak.
All that being said, I would not be able to take the OP's side until I heard the interviewers side of the story as well.
If you want to assess communication skills, common sense, maturity, just generally knowing what's going on, or any other senior engineering quality, I advise you steer hard away from FizzBuzz.
The author’s answer was clever, but also unconventional. The company was probably looking for someone that would write code in a shared codebase that other developers will need to contribute to and maintain. Thinking outside the box and not following suggestions might have raised a red flag that this person might be a loose cannon. In a small company, hiring someone smart but unwilling to follow directions can be detrimental. Kudos to the author, though, for being quick thinking and creative.
Then ask. Ask the candidate if he has experience in some teams, ask what he would do if someone else was challenging his technical decisions. Ask him what he would do if he was ordered to do something which he believes was a bad technical decision.
Instead of talking the company relies on easily misinterpreted hints that he might or might not be someone able to work in a team. People can be both self confident and able to create a cheeky solution and be sociable people with decent team skills.
If your hiring process relies on psycho analysis of the candidates, it probably will not work very well.
Even in the candidate's own telling, it is obvious that they misread very strong signals from interviewers. I've sometimes been that overly clever programmer and I've had to deal with it too, on the one side it's great that they bring energy and brains, but it is exhausting. At some point when moving fast you just want to have some people that you can go "hey just fix this bug wouldya" and trust that they're not going to come back with a clever but convoluted and inefficient hack.
Agree as a general rule BUT candidates can (and some WILL) lie to those questions. See how they react naturally although in a simulated scenario can give you a better idea.
But you should do both things, probably in 2 different interviews.
There is plenty of research on interviews and how to prevent them - or so the interview trainers hr made me take classes from before I was allowed to interview anyone.
disscussions here universially show no evidence anyone knows it exists much less what it is. I at least know it evists but I don't know how to find it
I think the lie is in thinking FizzBuzz is going to give you any insight into such matters.
Put aside your paranoia and just talk to your candidates. Ask them thoughtful questions that invite thoughtful answers. Probe gently to get at more challenging questions. Trust your ability to discern when they're BSing you.
Normally I’d give the company the benefit of the doubt for the reasons you point out, but not in this case. If you’re asking increasingly convoluted/unrealistic/impractical questions, you can’t complain that the response wasn’t practical.
It gives off strong “your answer might be correct but it’s not on my answer key so I’m marking you wrong” teacher vibes. Avoid at all costs.
Exactly. On one level I loved this solution but it’s definitely “clever code” and, unless there is a particularly strong requirement driving it (e.g., performance), I don’t particularly like clever code in production systems.
The problem of “What does this do?” is prevalent enough, and occurs often enough under pressure, without adding excessive niftiness into the mix.
The interview was also very clever and unconventional.
"Numeric types, number literals and their associated methods and operations are forbidden".
If this is how the interview behaved, I'm pretty sure this is a company that expects developers to write code in a certain way but doesn't really know how to guide them.
Kudos to the author, but shame on the interviewer.
Then don't say" "the interviewer noted that I could even use esoteric programming languages but advised me against because there would be lots of rules that would be hard to follow"
if someone starts careening through the task using brainfuck, they ain’t thinking like a senior dev at day job i.e. simple, clear, easy to follow and maintainable code writing.
i don’t care how clever you are. i need to know you’re not going to rewrite the frontend in your first week because of a “big brain” moment [0]. using python or something simple without being told to helps me feel like you won’t do that, and that i might be able to trust you on day 0.
Also, this still properly fits the "you're interviewing the company as well" paradigm. If the author wanted a company that values cleverness or can deal with people who go unbeaten paths, they now know it wasn't the right place.
Ideally yes, but most people in corporate settings don't communicate clearly. So if they have a culture of dropping hints, and you don't take them you're not going to do well at the company.
It's not good, but it's an accurate reflection of the work environment.
The only thing I can think of is they were fielding for them to say "that's not possible" and push back, potentially as a way to gauge if they would reject unreasonable client expectations or something.
Then it's a stupid way to check for it, because it was possible and trivial enough to implement in a short time frame with a "rewrite" in the middle and no attempt to meassure pushing back in other ways when the first one failed
You are interviewing them too.
I would also have hired the candidate.