6 ms·
>>> correct a design when you have 100 lines of Java code written before I really understand Holy Cow. 100 lines in an interview ? I had an interview like tha
by lifeisstillgood 6y ago
>>> correct a design when you have 100 lines of Java code written before I really understand
Holy Cow. 100 lines in an interview ? I had an interview like that once and never again. Want to see 100 lines of my code - github.com/mikadosoftware. In an interview - no thanks
Look we all know interviewing is broken. Hell I have worked with people for months before getting to know them and their coding styles. I think ultimately we are all being a bit too privileged about this : Hiring has three states, acquaintance, friend, spouse.
Some people are not skilled enough to be a work collegue - fizzbuzz and 20 minutes chat tell us that - we all know people who after 20 minutes we think we will pay money to avoid the next 20. Fine
Friends are harder - we gel in some fashion. This is the mid point for most of us - as long as we pass fizzbuzz / basic design, then we can make things work. Yes it might have friction but we can make it work.
Spouse is obviously the perfect level - that ideal together.
I fear that far too much effort is put into finding the perfect spouse in an interview - when really we can be fine with a friend. (no benefits!)
When hiring set your sights lower ...
- ionwake 6y agofizz buzz In my head I just think - Bro why are you asking me to paste code I can memorise? I use this to figure out which jobs I don't want. It's not the best metric but its worked ok so far.
- raverbashing 6y agoSeconded If you ask me about fizzbuzz I'll complain. Or maybe try to do it in a quirky way You should have addressed if the candidate knows how to write basic code in the phone interview, not wasting my time with a stupid problem on a whiteboard
- lifeisstillgood 6y ago>>> Or maybe try to do it in a quirky way Fantastic - you have just shown an ability to play with code, indicating you are likely to be good at the basic part of the job. Honestly "fizzbuzz" is short hand for "eliminate the set of people who apply for every coding job, but have no ability to code, or can only just take existing code and twist it about" (this last I used to think was laziness, but I think there is an ability to execute code in your head that is necessary - and if you can't do that then making any changes to a code base is scary because you cannot reason about it.) Do I use fizzbuzz anymore? No because it has been years since I have had to go "out to market" - but if I am interviewing you then I will have checked you pass this - reading your code, talking to co workers. I don't go in cold very often any more.
- ionwake 6y agoBut you are also eliminating those that "feel" its a question that should not be asked to experienced developers that would otherwise be excellent hires. I seem not to be the only one. (im not saying Im right in this)
- ProZsolt 6y agoTill you found somebody with 10+ years of "experience" who can sell himself well. We skip this question because of seniority. Hire him and turns out he struggles with basic for loop. This happened at my previous company.
- raverbashing 6y agoThen your interview process needs to be reviewed. You can filter people who can't make fore loops works without resorting to fizzbuzz
- lifeisstillgood 6y agoI suppose it would eliminate those that would walk out of an interview if asked to do fizzbuzz. I guess if someone genuinely objects to the "easy" question we can jump into some harder technical areas but I would definitely see it as a red flag. Will they refuse to manually fix up the test data because it is "beneath" them? Will they think that getting the HTML to float right on that screen is for juniors only? At some point meet the interviewer halfway.
- MauranKilom 6y agoMakes me want to write a crazy arcane C++ fizzbuzz answer in the style of [0]... [0]: https://aphyr.com/posts/340-acing-the-technical-interview https://aphyr.com/posts/340-acing-the-technical-interview
- onion2k 6y agoBro why are you asking me to paste code I can memorise? Because fizzbuzz isn't about the code. It's a starting point for a candidate to show an ability to code something, and an understanding of the requirements, and an ability to talk about their code and why it does things in the particular way they wrote it, and to discuss what the next steps would be (streaming, optimizations, etc). If the coding test is literally just 'write fizzbuzz' then it's a terrible test, but if it's more like 'write fizzbuzz and then we'll talk about it' then it can be a great test. Coding interviews (and just coding as an art really) should never be about solving a problem in a limited amount of time. The problems we face as developers usually need a few rounds of thinking, experimentation, more thinking, implementation, optimization, and so on. You can't do that process properly in an interview. Using things like fizzbuzz is an attempt at a shortcut. Also, as someone who interviewed lots of people and used fizzbuzz as a test in the past, I can assure you that simply being capable of implementing it takes you out of the bottom 30% or so. Being able to talk about it and suggest ways to do more with it, or to extend it, would put you in the top 30%. There are a lot of developers out there who are not great.
- ionwake 6y agoEDIT > just to be clear, I am completely aware of the different reasons you ask for fizzbuzz, but I know that the question can be completely rehearsed and revised with a few minutes of work. If you are using it as a metric I feel you are a poor judge. In my experience, I have been unable to comply with the fizzbuzz questions in interviews - which has generally ended with me or the interviewer slowly closing the interview. At the same time I was one of 2 people who built a major airlines checkin system within a couple of months. The interview for this role? A phone call, after looking through my CV. The roles which asked me fizz buzz? generic roles in companies that since went nowhere, I even got a callback telling me the technical hiring manager had since been fired ( or left ) and if I would re consider interviewing, which I then had to turn down. I am not saying you are wrong, I am probably wrong to judge a person if they are assessing my years of experience with a test aimed at an 18 year old. But be aware of how fizzbuzz makes some developers react.
- josephg 6y ago
- mxcrossb 6y agoFizz buzz is great in a nihilistic way. The interviewer is basically saying “It’s impossible to judge coding skill in a short interview. So I’ll just make sure you’re not a total fraud”
- lifeisstillgood 6y ago>>> code I can memorise As an aside this reminded me of "benefit of clergy", where one could get a reduction in sentence if you could prove you were literate in court - by reading out a Psalm in Latin. Now, as it was always the same psalm, illiterate people could memorise the psalm and recite it as if reading. (of course this was a legal fiction to allow courts to avoid handing out death sentences to all comers). The thing is fizzbuzz is like Miserere Mei - it's a quick proxy for a form of literacy. Yes, anyone already literate could easily swot up that psalm. But anyone not literate could only learn the words off by heart - and any simple test such as read the next psalm, would unmask them. So the easiness of fizzbuzz is kind of the point - we are not trying to work out if you are Phd or undergrad level. Just literate. https://en.m.wikipedia.org/wiki/Benefit_of_clergy https://en.m.wikipedia.org/wiki/Benefit_of_clergy
- dragonwriter 6y ago> this reminded me of "benefit of clergy", where one could get a reduction in sentence if you could prove you were literate in court - by reading out a Psalm in Latin. Now, as it was always the same psalm, illiterate people could memorise the psalm and recite it as if reading. IIRC, until the literacy test was abolished and the benefit made generally applicable to first-time offenders, the judge had the option of demanding a different work.be read if he suspected the privilege was being abused. > (of course this was a legal fiction to allow courts to avoid handing out death sentences to all comers). Well, it evolved into such a fiction (and eventually even the literacy test was removed). But it didn't originate as one, and didn't originally involve a sentence reduction but transfer to ecclesiastical court from secular court.
- llamataboot 6y agoI also think the industry as a whole would benefit from more fluid movement - easier to get hired means it's also easier to leave. Honestly, lots of hires (including myself for some places, I'm sure!) seemed great early on but then didn't quite work. Does usually take 3-4 months to feel that part out. And then eh, this isn't quite working, and I'll see you later. Or, as often, eh, wasn't sure how things would go but actually we work great together.
- justinlloyd 6y agoHad an interview (one of my last formal interviews I ever did) back in 2002 where the developer gave me a computer, no internet access and Notepad (not Notepad++, or an IDE or anything decent) and said I had to write an entire generic double-linked list class in C++. Without access to documentation or a compiler. In a room. On a folding chair. Without a break. I had two hours to do it in. I cranked out around 1,100 lines of code. The interviewing developer was all smugness when looking through the code because he didn't like my bracketing style, or my variable style, and so on, and pissed and moaned because I had a couple of syntax errors in the entire class. I was offered the job. And I turned them down. I did it to prove I could do it. Then I walked away. That was pretty much my last ever formal interview.
- arethuza 6y agoI had a second interview about the same - was given a Linux PC in the corner of the office and asked to write a simple client server system in C++ that registered clients based on their MAC address. They left me alone for two or three hours and didn't speak to me and at the end I had a chat with the CTO about the code and he was happy enough and all was OK. The main bit to me was they left me alone - if someone had asked me anything, or even worse, watched me coding I would never have been able to do it.
- rleigh 6y agoLikewise. In one interview, I was given a short task to write some simple multithreaded C++ application before the interview. IIRC it was just a bunch of timers running in parallel to trigger events. During the onsite, they said here's the code you gave us, now here's a laptop, make it a client/server system in the next couple of hours. The time pressure didn't hurt. Had to remind myself about the order of all the necessary system calls on the client and server side to set up the sockets, listen and connect, define a suitable message format, and whatnot. But I had a working client and server talking to each other doing their thing. What I like about this style of interview is that it demonstrates your ability to be given a high-level problem and then go through requirements, design, implementation, testing then when given new requirements, iterate over the process to meet them. It's much more representative of day to day job requirements than a whiteboard. And being thrown that challenge shortly after coming onsite demonstrates that you can handle the pressure of being given new requirements and new tasks out of the blue and roll with it.