3 ms·
>But the smart developer might just identify (intelligently) the potential for a "cool, elegant" solution and never find it. ... They think you want an elegant
by jasode 11y ago
>But the smart developer might just identify (intelligently) the potential for a "cool, elegant" solution and never find it. ... They think you want an elegant solution because the simple one is too obvious and it feels like there is an elegant solution.
I think this is the gist of the essay and it's very easily addressed by stating at the beginning, "just code something that works, don't try to come up with the most elegant thing known to mankind."
I don't see this as an issue in real life if some commmon-sense parameters are spelled out upfront. It's a 5-minute sanity check to get past false resumes. That's it.
I guess it's theoretically possible for an algorithms-obsessed programmer to sit there paralyzed for 2 hours on fizzbuzz. You the interviewer then ask him, "is there something about modulus 3 and 5 that's tripping you up?"
He says "Oh, not at all. I was just debating whether I should start with first principles of lambda calculus and have the program replicate itself in millions of successive genetic iterations until the final program writes itself. But then I got on a thought tangent and was thinking if I could just manually write list of the first 100 correct answers and then feed that to a machine learning algorithm that I write. It would classify the intervals and work backward via artificial intelligence to generate the right program. Btw, how much time do I get to work on this?"
I suppose scenarios like that could happen, but I don't worry about it.
- hahamrfunnyguy 11y agoAgreed. I was presented a simple challenge during an interview and my first question: Can I brute force the solution? Interviewer's answer: Sure, as long as it works. I think if the developer doesn't know when to ask the right questions, it hints at a deeper problem.
- chucksmash 11y agoI've seen several projects already that were killed by very smart people doing exactly this, writ large. Maybe it's an uninspired view point but I don't think filtering out that hypothetical candidate is necessarily a bad thing either.
- talmand 11y agoI once was doing something very similar to that until I realized it would be more efficient to manually write the sequence to 100 places on a piece of notebook paper instead.
- vog 11y ago> Oh, not at all. I was just debating whether I should start with first principles of lambda calculus ... Maybe this is not a false positive at all. Maybe you really shouldn't hire such a person. If they blow up a simple test that much, what will they do when confronted with a real-world problem? Will they ever get anything done?
- userbinator 11y agoI guess it's theoretically possible for an algorithms-obsessed programmer to sit there paralyzed for 2 hours on fizzbuzz. In which case fizzbuzz has also served its purpose, by weeding out candidates who would overthink a solution and add gross complexity when it's not necessary.
- arenaninja 11y agoI agree. For any interview problem, my approach is to just write something that works. If you can't, talking it out loud helps whoever's interviewing know whether you're genuinely stuck or just fumbling with the keyboard
- kstrauser 11y ago> If you can't, talking it out loud helps whoever's interviewing know whether you're genuinely stuck or just fumbling with the keyboard Absolutely! I'm also explicit about why I'm solving problems the way I am, like "this is going to be my brute force solution, and probably won't be pretty or efficient". This is effective against the occasional interview who does like to trip you up with followups like "wow, I was hoping for a more sophisticated answer" (yeah, you know who you are). I can respond with "as I said, this is a rough draft."