Stories
Slash Boxes
Comments

SoylentNews is people

posted by on Tuesday March 07 2017, @10:10PM   Printer-friendly
from the prove-Fermat's-last-theorem-using-only-a-protractor-and-straight-edge dept.

Saw this discussion on Reddit, and thought it might be of interest here, too (as such things perennially are):

I've been a successful software engineer for 10 years at various startups and small businesses. I do a lot of contracting on the side too. I've recently had cause to start looking for work again.

What the hell is up with these interview questions? They don't really have much to do with the ins and outs of clean code, architecture or collaboration. I had hoped they'd stop with this bullshit already. There's a lot of companies that promise 'No whiteboard interviews' like Triplebyte, only for that to be a complete and total lie.

They're more like annoying riddles I'd find in an Sierra adventure game or D&D. I'm just not very good at these types of 'riddle questions'. I know they always wind up having to do with binary trees, graph algorithms or something like that, but the dress-up and time constraints are unrealistically stressful.

I honestly wasn't very good at these questions when I'd graduated and I'm still not good at them now. How screwed am I? Are companies willing to hire based on projects and seeing live code?

I'm always careful to speak with my employers and convince them to write a 'portfolio' clause in my contract that allows me to keep code for the purpose of seeking further employment.

I really don't want to spend 3 months of my life learning how to solve riddles just to get another job.

I also suck at these kinds of questions, despite having designed and written a lot of software and systems. What say you, Soylentils, are these kinds of interview questions necessary to find good software engineers?


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Insightful) by q.kontinuum on Tuesday March 07 2017, @11:09PM (5 children)

    by q.kontinuum (532) on Tuesday March 07 2017, @11:09PM (#476212) Journal

    Neither on the reddit-page nor in the summary is a list of those questions we are supposed to comment on. Was this some general rambling about "those interview questions, whatever they are" or did I miss something?

    Generally, I think it makes sense to ask to apply competences during the interview. In my first job, I had a colleague who was hired as a C++ developer. After three weeks, he started to bring a book "C++ for dummies", and after 3 months he still made mistakes like this when checking a pointer for null:

    int my_function(MyClass *obj) {
            if (obj == "null") [...]
    }

    (No, he was not able to figure out by himself or with help of a book, what was wrong with this code. Even after getting an explanation, he had a hard time to understand. After 4 months he was finally fired, and hadn't produced any line of relevant code in the whole time. But that was 20 years ago, in my first job.)

    I usually bring a laptop to interviews, asking the candidate for a quick implementation of FizzBuzz [wikipedia.org]. The candidate gets the shell, an editor, the python interpreter (or javac or groovy or ruby) and can try as often as he likes. I don't care if he starts the interpreter 10 times to find some typos, or if he tries simple cases himself before presenting the solution, or if he needs to debug the script before presenting it. Even a browser is installed, but obviously I'm sitting close by and would not appreciate if the candidate just googles the complete solution. [Although, if he states it openly in advance with good humor, I'd probably consider it also clever and just give him another task with stricter parameters next :-))

    What I do care for is,

    - Is he capable of implementing anything at all (many candidates are not [codinghorror.com], but most of those are luckily filtered in the phone-interviews already)
    - Is he overconfident (does he expect errors in his code, or if he is confident, is the code actually correct)
    - Can he identify critical test cases

    I would also happily consider codewars [codewars.com] achievements or github-contributions as references and discuss on them, of course.

    I do realise that FizzBuzz does not have many real-world applications, but the "riddle"-component is simple enough to not distract too much. I just don't want to examine extensive framework- or API-knowledge of some tools or frameworks we use. That would reduce the pool of candidates even further, and a good developer should be able to familiarize himself with any reasonable environment, while a bad developer might know the API definitions and answers to standard-questions, but will probably no time soon become a good developer.

    --
    Registered IRC nick on chat.soylentnews.org: qkontinuum
    Starting Score:    1  point
    Moderation   +1  
       Insightful=1, Total=1
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 2) by Fnord666 on Wednesday March 08 2017, @12:00AM

    by Fnord666 (652) on Wednesday March 08 2017, @12:00AM (#476230) Homepage

    Neither on the reddit-page nor in the summary is a list of those questions we are supposed to comment on. Was this some general rambling about "those interview questions, whatever they are" or did I miss something?

    No, you didn't miss anything. The questions being discussed are ones taken, often verbatim, from the book "Cracking the Coding Interview [amazon.com]".

  • (Score: 3, Funny) by jimshatt on Wednesday March 08 2017, @10:06AM (1 child)

    by jimshatt (978) on Wednesday March 08 2017, @10:06AM (#476384) Journal
    • (Score: 2) by q.kontinuum on Wednesday March 08 2017, @12:24PM

      by q.kontinuum (532) on Wednesday March 08 2017, @12:24PM (#476406) Journal

      Nice one :-) I forgot about that site. Once it was in my daily bookmarks.

      Funny as it is, but this is one the reasons I prefer to bring a laptop. In this case I think it is safe to assume that the candidate just doesn't have a clue. There are other tasks, however, where a solution might look awkward, but is actually correct. E.g. given the Fibonacci-numbers (could be a good example to see if the candidate prefers recursion over iteration, or if he has some ideas to optimize) the candidate might come up with the closed-form expression [wikipedia.org] instead, and if I didn't accidentally know this particular example, I might consider it wrong.

      Bringing a laptop, and running some tests on the program, there is no question if the proposed solution works or not. If it doesn't work, the candidate might still be lucky that I spot some bug in an otherwise good solution and mark it down to nerves.

      --
      Registered IRC nick on chat.soylentnews.org: qkontinuum
  • (Score: 2) by tibman on Wednesday March 08 2017, @09:58PM (1 child)

    by tibman (134) Subscriber Badge on Wednesday March 08 2017, @09:58PM (#476743)

    We just stopped doing FizzBuzz this last week because all but one candidate had done it already. Not only that but three candidates were taught FizzBuzz in school because "you might need it to get hired". We wrote up our own coding challenge for Bowling. Lots of fun exceptions to the rules in that one.

    --
    SN won't survive on lurkers alone. Write comments.
    • (Score: 2) by q.kontinuum on Thursday March 09 2017, @09:26AM

      by q.kontinuum (532) on Thursday March 09 2017, @09:26AM (#476918) Journal

      Good to know :-) Luckily I have some other questions/tasks in my portfolio as well. (In our company, everyone working in a technical position has to conduct interviews once in a while, and we don't get specific question-catalogues to ask. Everyone has his own set. HR gives us a standardized feedback form, but what we ask the candidate to come to our evaluation is entirely up to us.)

      --
      Registered IRC nick on chat.soylentnews.org: qkontinuum