what to do if you catch a job candidate lying in an interview

A reader writes:

I work in software development. As a part of our interview process, I ask a series of technical questions. In the past five years of interviewing, I’ve managed to catch two applicants boldface lying/cheating (by looking up the answers online) during a phone interview. The first time, I didn’t say anything to the applicant and finished the interview like normal. The second time, during a short coding test we conduct, the applicant looked up the answer online and copy/pasted someone else’s code. It was pretty obvious he didn’t produce it but before I could call him out on it, his phone died. I discussed it with some colleagues and they suggested sending him the link to the site he copied the code from to keep him from trying to bother to reschedule an interview.

What do you or others do when you catch someone lying during an interview? Do you call them out on it? Or do you let it, and the candidate, pass?

You can read my answer to this question over at Inc. today, where I’m revisiting letters that have been buried in the archives here from years ago (and often updating/expanding my answers to them).

{ 114 comments… read them below }

  1. Allison*

    I think #2 is best, because if the candidate wasn’t actually lying or cheating they have a chance to explain themselves, and if they were doing something shady, they (hopefully) learn that that behavior won’t get them a job, and they might actually shape up for future interviews with other companies. Whereas if you go dark on a candidate, they have no way of knowing why, or whether it has anything to do with them looking up answers or plagiarizing code; they might suspect that’s the case, but they might also assume (or convince themselves) you’re rejecting them for other, less fair reasons.

    1. AndersonDarling*

      Yes, I would give the candidate the chance to explain themselves. Did they pull the answer form their own blog? I’ve heard a situation where someone was disqualified for “plagiarizing” their own published work.
      But if they flat out lie and try to cover it up, then you 100% know to drop the candidate.

      1. my two cents*

        a lot of coding exercises, especially ones that are to be completed within a few moments’ time, are very VERY common examples. If it’s less than 10 lines, like for writing a counting loop or saving something to a formatted file, he could have been copying it from their own assignments – but the exercise is too common and someone else had also posted it online…maybe even from that same classroom assignment. I can’t think of any software/firmware guys that write code from absolute scratch – development tools include ‘code generators’ for firmware and there’s a million online resources for open-sourced code.

        honestly, you’re better off having candidates comment a code segment for you or draw a state diagram/flow chart to demonstrate that they understand the basic functions.

        1. SusanIvanova*

          And a lot of them are more riddles than real programming questions – there will be a twist to it that some people will spot immediately but others won’t, and who wants code that unintuitive in their codebase? Plus nobody is going to reverse a C string in place when we’ve got higher-level and much safer class libraries to do that; that was barely justifiable when memory and speeds were measured in K instead of G.

    2. Hornswoggler*

      Or they might have a great answer, e.g.: “If you look at page 2 of my resumé, you’ll notice I wrote the content for XYZ.com, and I’m therefore quoting my own work.” :D

  2. Mike C.*

    I have a concern with the approach because in the workplace when I need to solve a problem or deliver an answer, no one ever calls it cheating if I ever look it up. If I’m not sure how to make a specific program do what I need then it’s off to Google because it’s faster and cheaper for me to use someone’s wheel than to reinvent my own.

    How often do these situations occur simply because there is a mismatch between the expectations of the interviewer and the candidate rather than outright lying?

    1. The Alias Gloria Has Been Living Under, A.A., B.S.*

      I agree with this. I know a lot about MS Word and Excel but I could not walk you through how to do a mail merge off the top of my head without having a computer in front of me. I know how to do things, but I don’t memorize them. (Plus the steps change based on what version of Office you have…)

      1. SJ*

        I definitely call myself proficient in Word and Excel, but if someone asked me in an interview how I’d do any sort of specific maneuver, I’d probably freeze up. It’s so hard to talk through that sort of thing without having the actual screen in front of you and your muscle memory having you click through the steps — not to mention there’s plenty of things I don’t know how to do at all, but taking 5 seconds to do a Google search will have the answer right there.

        1. Temperance*

          I’m not sure this is comparable, because for coding jobs, you already know you’re going to get asked technical questions so in theory, the interviewee should be prepared.

          1. ThursdaysGeek*

            And yet, in all my years of programming, I’ve rarely been asked to code in an interview, other than very generic pseudo-coding. If I were asked a question that I didn’t know, I would tell them that, and then tell them how I’d search to find the answer. Because searching to find the answer is so normal in everyday work.

            1. dr_silverware*

              I’ve mostly been asked to pseudocode, and when I have had to whiteboard code, I’ve usually had to say, like, “I’m pretty sure there’s a bug here, but I’d need to go into the documentation to double-check.” So yeah, it’s way more permissible to call out where you don’t know and describe your solution process than to straight-up copy code.

            2. Annonymouse*

              In the OP update it was to write some code to sort numbers in a document without calling it sort.numbers

              Also the candidate in question said they’d rather use Java over c++ (they have experience in both) but 10 minutes later there was a completed complex code in c++.

              Which seemed odd considering the speed, complexity and his previous comments.

              OP looked it up and it’s a free source code, not something OP came up with on the spot.

              This kind of coding test is the equivalent of say a typing test for a secretary or typing accuracy test for data entry.

              Something expected and testing the basic skills you should have for the job your applying for.

          2. Anna No Mouse*

            True, but the coders I know also use Google a lot to avoid reinventing the wheel. That said, it’s one thing to go to an open source platform and see what they have done there, and another to peek behind the curtain at someone’s code without their explicit or implicit permission and steal.

        2. Fawnling*

          I was recently in an IT interview that asked for specific steps on how to troubleshoot/navigate around Microsoft Office products. I troubleshoot them in-depth every day, but even in my experience I froze up when asked certain steps (a specific Excel formula, inserting headers/footers into a document, etc.) without a computer in front of me. The reality is that information has become so readily available (Google) that we no longer have to learn steps..we just do them with muscle memory.

          1. Kelly L.*

            Yup.

            I also don’t always know the Official Microsoft Term for something. I’d been using Word for probably 20 years when I learned what the “ribbon” was. And I learned it by getting it wrong on a skills test for a job.

            1. KR*

              This so hard. Also, knowing your way around the program also includes knowing how to click around and find what you need. I might not be able to tell you the steps verbatim, but if you put it in front of me I can click around and find the right command or menu in a minute or less.

              1. Kelly L.*

                Yup. I’m also always troubleshooting Word on the computers of other people in the office, and a lot of times they have a slightly different version and stuff’s not in the same place. But if I poke around a bit, I can usually find it, and barring that, Google.

              2. TootsNYC*

                yeah, i can be faster and more effective on a program I’ve never received official training on, than someone who took a class. Because I don’t give up on finding the answer; I have initiative, and a mind that helps me figure stuff out.
                I might also find a different way to achieve the same effect, so I’d be technically “wrong.”

            2. Mike C.*

              This reminds me of the difference between a good history class and a bad history class. The bad class will make you memorize names and dates. A good class will make you understand those names in the context of other things that happened before, during or after.

              I feel like these silly tests are focused only on names and dates rather than information that is actually important.

            3. Mallory Janis Ian*

              Wow, would I be in trouble if someone asked me to narrate almost any of the tasks I do on a daily basis in Word or Excel. For me, that stuff isn’t stored in my mind verbally; it’s stored visually, with maybe a little bit of vague thought process like, “click on this thingy here”, but nothing as verbally well-formulated as a step-by-step process with proper names for each step.

          2. De Minimis*

            I had this happen once too….a written test on Excel and Word. I’m sure I got several things wrong that I would have gotten right if the test allowed me to perform the actual functions on an actual computer.

      2. Persephone*

        This. Personal life example, not professional, but I sew a lot as a hobby. I can sew in a regular zipper no problem, with no instructions needed and could probably tell someone over the phone how to do it. I can also sew in an invisible zipper no problem, but I always need to look at the instructions each time to remind myself of all the steps and I would have a hard time explaining how to do it to someone else without having a physical example in front of me. I also know how to cut out a circle skirt no problem, but every time I do I always google what the calculation is to determine what to cut out.

      3. Lily in NYC*

        As an EA, I’m always tested in MS Office at interviews. It’s is absolutely considered cheating if you look things up. They are testing our knowledge, not our ability to google.

        1. SJ*

          Do they ask you questions and you have to talk through the answers, or do they actually sit you at a computer and have you do something? (Or both?)

          1. KR*

            This makes all the difference. I took a required class in Microsoft Office last year, got a 100+ on all my projects and I still couldn’t walk you through doing things without the computer in front of me.

          2. some1*

            I’m an admin and yes, they usually give you an actual skills test at a PC. It’s not sitting across from someone at a table and having to vocalize how to insert columns in Excel.

        2. Mike C.*

          Those are some really dumb tests. Just about anything you need to be able to do in Office is found by hitting F1 and searching the help file. Why in the heck would I waste my time memorizing stuff I wouldn’t use on a daily basis so long as I can pull it up the one time it’s needed?

          1. my two cents*

            I think it’s different if you’re dealing with pivot tables or need someone who’s good at converting .xls to .xml – Microsoft Office doesn’t change every minute like tech does. Programming is such a community-based activity these days, open-sourced everything, a test like this would just annoy me.

            -flowcharts or psuedocode if you want to test their thought process.
            -comment a code segment if you need them to understand mechanisms for functions
            -debugging a code segment (spot the typos/errors) if you need them to know a specific syntax

          2. Sydney*

            And when you take the test (it’s usually an actual test that is timed on a dummy document) you can’t search for the right place for something. For instance if you know how to insert a chart but you can’t remember where that command is – is it under format, data, insert? That’s considered a wrong answer because you looked in too many places. There is so much in Excel that I don’t remember where it is but I know it’s there. I know how to do it but I may have to look in one or two places first (especially if it’s something that I don’t do often. If it’s a requirement of that job to work with charts then the more I do it I’ll remember where it is!) That doesn’t mean I’m bad at it.

          3. Lily in NYC*

            I think it’s stupid too and I also think typing tests should be obsolete. But it’s part of the interview process so there’s nothing I can do about it.

        3. the gold digger*

          They are testing our knowledge, not our ability to google.

          All I want is someone who can get the job done. And really, I would rather hire someone who can figure out how to do something she doesn’t know how to do than someone who has a lot of stuff memorized but is stumped when asked to do something new.

          1. TootsNYC*

            And those are VERY different skills.

            I’ve been considered a power user at every place I’ve ever worked at. I got that way by rummaging around.

          2. Annonymouse*

            But there are certain things you’d expect them to know without having to teach.

            Like you don’t want to teach an accountant how to count and do basic maths (adding and subtracting). Or a paramedic basic first aid. Or a driving instructor the road rules.

            Or a programmer how to understand and use programming language.

            It’s different to look up a code for something knowing exactly what you want, how it should work and reviewing the code to make sure it will work because why reinvent the wheel?

            Vs

            Googling, finding code for what you want but having no idea of how to modify, fix or review it because you don’t understand the basics of the language or logical connections.

            Sure they both get the the job done but when stuff goes wrong one can get that job done and the other can faff around on google but not be entirely sure how to fix it.

        4. Honeybee*

          I think the point is – why? If I can’t remember how to insert a bookmark from the ribbon and just type “bookmark” into the “Tell me what you want to do…” bar every time and the end result is the same, who cares?

      4. MsChandandlerBong*

        This. I recently flunked an MS Word test because I use Word 2013 and the test was on Word 2010. I was sitting here practically crying because I KNEW what I was doing was the right way to do the task in the 2013 version, but it didn’t work in the 2010 version.

        (Okay, I didn’t outright flunk, but I scored a 71% and was eliminated from consideration for a freelance editing position.)

    2. Libervermis*

      The difference between doing a task as a hired employee and doing a task as an interviewee is that the hired employee is presumed (and perhaps tested) to have the skills the employer is looking for. Sure, you might be able to find the answer to problem x on Google, but what happens when you run into problem z and Google doesn’t have the answer? You better be able to do it yourself, and if you look up the answer in an interview, the interviewer doesn’t know if you have the skills/knowledge in question.

      Perhaps interviewers who give these kinds of tests/ask these kinds of technical questions need to be very clear about why they’re asking, since getting the answer by any means necessary isn’t the point.

      1. Mike C.*

        Then they should test you on problem z.

        if you look up the answer in an interview, the interviewer doesn’t know if you have the skills/knowledge in question.

        This doesn’t make sense at all – if you can do it, you have the skill to do it, because you’ve just done it. It doesn’t matter if you knew how to do it an hour ago, a year ago or seconds ago.

        1. Three Thousand*

          Yeah, knowledge and expertise aren’t magic. Someone who can figure out how to complete a task with the resources they would normally have available to them is *someone who knows how to complete that task*.

          Sure, it feels like cheating when they Google something, because couldn’t anyone have just looked it up and maybe this person isn’t so smart after all, but a large part of expertise is knowing what to look up, who to ask, and how to make use of the information you get. I blame school for getting so many of us into the “cheating vs. correctly memorizing things” mindset.

          1. Mike C.*

            a large part of expertise is knowing what to look up, who to ask, and how to make use of the information you get.

            This was the most important thing I learned in college.

            1. LJL*

              I learned that from my grandma, the smartest woman I’ve ever known. And besides, I can google brain surgery…that doesn’t mean I can apply what I look up. That’s why googling is NOT “cheating.”

          2. Honeybee*

            THIS. I can look up “code for doing regression in SAS” but I still have to know what a regression is and how to edit that code to do the regression I want to do and, more importantly, how to interpret the output I get. The actual code itself is the least important part of the task.

            1. Natasha*

              Funny you mention that specifically, I just took a final on regression in SAS for my MS program, and though I’ve used logistic regression in other science and math classes, I’m still struggling with interpreting it and selecting the right options at the Master’s level. I agree exactly with all of you that we shouldn’t waste brain space on techniques or functions that are easily looked up, but a true expert understands context.

        2. Libervermis*

          Absolutely they should test you on problem z. My familiarity with this process is from a copyediting standpoint rather than IT or coding, but it sounds like from the conversation further up that there are some standard short coding exercises that everyone uses, which sounds like it’s a big part of the issue.

    3. dr_silverware*

      Yes, but in a development job it’s a requirement to have baseline knowledge of basic algorithms and coding patterns. In a software development interview, it’s crucial to hear someone actually work through a problem even if their approach isn’t flawless and they mention where they would need to refer to documentation.

      If there are syntax problems in someone’s code, that’s sometimes very forgivable. But the point of those coding problems are to see if they have a major misunderstanding of how the code works, fail to solve a common problem, use an inappropriate algorithm, or fail to spot a large bug in their own code. And, if they are interviewing with a specific programming language, to see if they know the quirks of that language well enough to avoid known bugs and problems.

      If there’s a mismatch in expectations, then that should certainly be clarified, because it’s an expectation for most if not all development interviews.

      1. Mike C.*

        Ok, then ask those followup questions rather than declare someone a cheater for doing what is perfectly allowed within the course of a workday. If they can answer those questions, then it doesn’t matter if they copied the code. If they can’t, you no longer have a qualified candidate.

        Either way, the code itself doesn’t really matter and this whole cheating thing is a giant mcguffin.

      2. my two cents*

        But, one you hire the guy would you expect him to write code from scratch? Or, do you think it’s more imperative that they be able to understand your team’s existing code projects?

    4. Bronwyn*

      This is a good point and one that also came up recently in Canada. The news story is here: http://www.theglobeandmail.com/news/politics/federal-bureaucrats-busted-for-plagiarism-in-job-applications/article7208671/ and the court decision referenced in it is here: http://www.canlii.org/en/ca/fct/doc/2015/2015fc1342/2015fc1342.html.

      What I think is interesting though is that while the news story is a sort of populist summary of what happened, the journalist actually got the following bit wrong:
      “The candidates were warned in writing that they were on an honour system – they were to isolate themselves and not confer with anybody. And while they were free to reference documents online, no cutting and pasting would be allowed. They had to mark an “I agree” box accepting these stipulations before writing the exams.”

      In the decision I linked above, the judge actually concluded otherwise and said:
      “Aside from the rule that candidates are not to communicate or share information with others, there is no mention of use of the Internet or external sources. Candidates were not expressly prohibited from consulting the Internet or referencing external materials. There is also no express instruction that answers must be provided in the candidates’ own words.”

      In a later paragraph the judge clarified that:
      “Since this incident, Transport Canada has revised its exam instructions. It now specifies that candidates are free to use the Internet/intranet and any other resources during the exam. However, copying and pasting text from any source is now expressly prohibited.”

      The applicants’ (those accused of cheating) arguments included several points, but I though the following was the most interesting:
      “The applicants submit that their conduct must be viewed in light of the undisputed fact that the exam instructions and guidelines lacked clarity; that the exam was poorly conceived and executed (as evidenced by the fact that many candidates copied and pasted from the Internet in answering the exam questions, either with or without attribution); and that Mr. Egbers in particular had clearly referenced the 2012 Budget among the two sources to which he referred in the exam. Moreover, it is submitted that the Commission’s finding that the applicants intended to deceive is also unreasonable and unsupported by the evidence. The applicants reiterate that they never had any intention to deceive. They point out that the material copied was not obscure, but well-known, publically available, and easily accessible online. It is submitted that had they truly intended to deceive, they would not have copied from a source as obvious as an annual report from the website of the very government department to which they were applying.”

    5. Neeta*

      As a software developer myself, as well as someone who’s had to interview people for software development positions, I disagree.

      While it is certainly true that I can Google a lot of the minor aspects of my job, when it comes to more complex solutions most of the time you won’t really find what you need online. Or if you do, it’s not necessarily a very efficient program. Or even worse, you end up copying malicious code which then can affect a lot more than you initially thought.

      Another aspect here is, that I want to know the candidate’s thought process. In my experience, you can do this two ways:
      1) you call the candidate in and give him/her a relatively easy problem that he/she needs to solve on the spot. Ask them to sketch a quick draft of an answer on a piece of paper.

      2) You can give them a somewhat more complex program to complete over the course of a few days. You can generally add enough “extra” requirements here, so that exercise won’t be easily found by means of Googling. Or at any rate, they’ll have to “assemble” their answer using several sources.

      I think no 2. is the most efficient way to test a candidate’s technical skills… BUT you can also easily alienate people here, who might not be interested to invest several hours worth of work for a rather uncertain prospect. For my current job, I was given such a task, and I spent the better part of the weekend working on it. But I have also “ignored” a company who sent me such a tests, as a reply to my job application.

    6. Beezus*

      If they’re testing for proficiency in building-block type skills that a candidate would need to have mastered in order to do a job well, then googling won’t suffice and they should probably make that clear before they test.

      If I’m hiring someone to formulate new bread recipes, I don’t want someone who can google how to make whole wheat bread – I need someone who understands the ingredients and chemistry involved in baking to put what they know together to develop something original. I would want someone who could successfully prepare a basic bread from memory without referencing a written recipe or notes. If I’m getting candidates who are referencing materials when I test them, I do need to consider whether I’m being clear enough about the skill level required in my job posting and about the expectations of the test, but if I’m doing that, it’s valid to eliminate those candidates from the process and to be straightforward about why.

      1. Mike C.*

        Again, that’s where the secondary questions come in.

        “Why did you use that proportion of wet ingredients to flour?”
        “What would happen if you substituted brown sugar for white?”
        “Why did you make that particular flour choice?”
        “You showed me a loaf like abc. If I wanted a loaf like xyz, what would you change and why?”

        It doesn’t really matter if they look up a basic recipe if they can actually answer those sorts of questions (aka perform the actual job).

    7. BananaPants*

      For a software developer these kinds of skills should be second nature and hopefully the coding problem was relevant to the skills needed and covered what’s considered to be standard industry knowledge.

      We ask candidates technical problems – often with qualitative rather than quantitative answers. An entry level mechanical engineer should have a certain basic understanding of mechanics, heat transfer, thermo, fluids. etc. and be able to recognize or explain certain things. If a candidate can’t figure out a simple free body diagram problem that they would have learned how in the first week of their sophomore year statics class, then they’re really not the right fit for the job – needing to Google it or look it up in a textbook is not acceptable.

      1. my two cents*

        But then, wouldn’t that translate to a coding test where you have the NCG explain some existing code rather than possibly work themselves up over proper syntax? I think that’d produce more authentic results.

    8. A Non*

      I dealt with this recently by sitting candidates down at a machine with a list of tasks to accomplish, letting them know that they were free to use any internet resources, and then watching their screen remotely. It was very, very obvious who knew what they were doing but needed a refresher on steps vs. people who didn’t know what they were looking for. And in the latter category, there was also an obvious difference between people who knew how to find answers systemically and those who were flailing with no idea what to do. It was shocking how many people interviewed well and then flailed on the practical test. It worked very well and I plan to do this with future hires.

      1. Honeybee*

        Yes, this. I don’t think anyone was suggesting that Googling everything in the interview was acceptable, or that a lack of baseline knowledge is okay as long as the person can use a search engine. But there are ways to allow people to use outside resources the same way they would in their every day work while also determining who knows enough to do the jon and who doesn’t.

    9. Vicki*

      Yes! I look things up.
      No experienced coder is expected to have everything in their head. But supposedly, it’s “cheating” to look something up in an interview.

      And many of these technical interview questions are just weird. “Write a shell sort”. (In real life, I’d look up a library function that does that.) Write a program that finds the maximum of items in an array (what is this, freshman CS?).

      If you call looking things up “cheating”, you need to change your viewpoint.

    10. Anansi*

      I think that depends on the employer and the job. For instance, I have a couple friends who work in IT. One person’s job is to actually generate and create new code. The other’s job is to troubleshoot. The code writer of course wants people who know how to create code on their own. The other has no problem if people look things up, and in fact was very impressed when he asked an applicant what she’d do to fix a particular problem and she googled it.

    11. Honeybee*

      Thiiiis. I have to write code to program statistical software and I rarely write full code off the top of my head. I use all kinds of Internet and internal resources for writing code. I think if that’s an expectation it’s necessary to state it right at the beginning of the interview that no outside resources are allowed.

    12. FD*

      Yeah, that was my thought process too. With coding, specifically, I feel like it’s more important to know that someone can get the answer quickly than whether they happen to know it off the top of their head.

      Now, if they took twenty minutes to find an answer they should have been able to find in two, that’s a problem because it probably means they won’t be able to do the job efficiently–it probably means I don’t know where or how to look. But I know when I’m doing HTML or CSS, I usually have W3Schools up for quick reference.

      Taking someone’s exact code and presenting it as your own might be a bigger issue, depending on what it is. For example again, if I want to make a full-screen, fixed-width image, there’s a tutorial on how to do it with the appropriate webkit prefixes–I usually just copy that segment and edit the details because it’s faster to use that base than to retype it all. However, it certainly wouldn’t be kosher to copy someone else’s code for an entire webpage and pass it off as my own.

  3. Shannon*

    I’m admittedly not a tech person, but, isn’t the expectation in that industry not that you can create anything at the drop of a hat, but that you know where to look it up? Why reinvent the wheel? If you really want to test these people’s skills, isn’t it better to test in an enviroment that you can control? Ie: putting an applicant in a proctored room with a computer without internet access?

    1. Mike C.*

      That’s a great idea, though I would have to restrain myself from treating it as a live room escape game. :)

      1. 42*

        Tangential, but I went to one of those for the first time not too long ago, and it was a hoot.

    2. Neeta*

      If you’re asked to write an algorithm for Euclid’s division, then sure feel free to look it up.
      But your clients will likely NEVER come to you with: I need you to implement this particular mathematical algorithm. If you’re lucky, you’ll be asked to build a software to help them automate their salary calculation. If you’re unlucky, you’ll get a disjointed tirade about some very convoluted issue you barely understand and a “make the computer do this for me” tacked at the end.

      1. Honeybee*

        But then if there’s a similar problem or an earlier iteration of that problem out there, I might look it up for a starting point and then build on that.

      2. Shannon*

        Yes, and there’s certainly a skill in being able to coax out of people what they want, but, to use that example, wouldn’t it make sense to check if there’s all ready software out there that could calculate that? Wouldn’t it make sense to see what’s all ready out there and if/ how that needs to be modified for your consumers needs?

        1. Neeta*

          That is certainly one way of approaching the problem.

          I generally try to sketch out a rough outline of program, and then try to build a basic interface to help me visualize things better. Sure, I’ll probably Google things like a plugin that helps customize a table, because I want to display something in a fancier way. But it just seems very weird to have Google as my first resort every time I’m presented with a software requirement.

      3. Neeta*

        I’m all for looking up code snippets for things like how to parse an excel file, but there are also pretty basic things that shouldn’t really need you to do this. If I have a problem like calculate x, when 2*x + 4 = 10, to me it’s faster to do the calculation on paper than Googling it.

        I’m not sure why the concept of being able to solve such problems without Googling upsets so many people?

  4. Washington*

    This is what I’m seeing when people are ‘cheating’
    – it’s not that they look something up, it’s that they copy and paste with no thought AND present it as their own work (especially when the question is not so much about the hard coding skills but more about how they would approach solving an error)

    – they do need to be able to demonstrate a level of skill in a particular language, they’ve already said they have that level, AND they know that going into the test and know they aren’t able to demonstrate it, so they continue the lie by copying (people who DO know their stuff inside and out will still make errors on this kind of test, but I’d rather have true errors than the perfect lie)

    You can’t police everyone you are considering for a job. How would that strong candidate feel about being treated as if he would cheat if given the chance? Plus, most of the true cheaters are really easy to find out. They aren’t the first person to lift that entire paragraph from a website, because it’s on the first page of Google results when you search “X+Y+?” Plus, you can always search using their answer.

  5. SJ*

    “The second time, during a short coding test we conduct, the applicant looked up the answer online and copy/pasted someone else’s code. It was pretty obvious he didn’t produce it but before I could call him out on it, his phone died.”

    I know zero about coding — I had no idea you could even ask actual coding questions over the phone.

    1. UK Nerd*

      I once totally blew an interview because they asked me a bunch of coding questions. All stuff I could have answered in two seconds if I’d had a computer in front of me, but didn’t happen to have in my head at the time.

      Mind you, that was the weird company who wanted a senior developer but were only offering a mid-level developer salary, and argued with my old boss about whether I was even a developer at all when they called for a reference. Dodged a bullet there.

    2. Spotty*

      I may be wrong, but it sounds like they were both patched into a shared computer program, and the interviewer was asking for specific codes, like, “Show me how you’d link an image to a website” and then the interviewee would do it.

    3. dr_silverware*

      I had to write code in a shared google doc once during a phone interview. The interviewer watched my cursor scoot around. It was terrifying.

  6. ThursdaysGeek*

    I am a geek, and I look up things all the time. So if you want the interviewee to NOT use Google and Stackoverflow, you need to clearly specify that. Otherwise, the person is not cheating, they’re just doing what is typical and expected.

    If the interviewer has said to not look things up and then they do, that’s cheating. If they are then asked about it and they said they didn’t, that’s lying. I don’t consider what the OP described as cheating or lying.

    1. Steve*

      This situation came up recently on http://workplace.stackexchange.com/questions/60170/should-i-disqualify-candidates-if-they-google-the-answer-and-type-it-verbatim-in/60200#60200

      I think that regardless of whether it’s a test of the candidate’s programming, Microsoft Office skills, or any skill or trivia question, you have to ask yourself
      Did I tell them up front that they’re not allowed to search the internet?
      Do I need to know if they know the answer without searching? (It depends on things like what the role is and what the question is).

      Given the previous, I would almost always go with proposed solution #2. Even if you did tell them not to search the internet, they might have misheard or misunderstood you.

      Copying code is not the same thing as, say, plagiarizing a creative writing exercise (which would be cheating, probably) which Alison’s answer seems to be focused on.

    2. PizzaSquared*

      I’ve been in the technology industry for nearly 20 years. It is understood that everyone needs to look up details, but at least in the circles I run in (large, prominent tech companies), it’s also universally known that you’re not supposed to just google/stackoverflow answers during an interview. Doing that is not “typical and expected,” and any candidate who doesn’t already know that is probably not a great candidate for us.

      You should be able to explain your high level approach to solving a problem without Googling. It’s fine to say “I don’t remember the exact details of the API, so I’d need to look it up” or something to that effect. But if you can’t explain the algorithm and how it works without Googling, you’re not qualified.

  7. BRR*

    I also like approach #2. I would want to hear the candidate’s explanation. This post/topic seems really familiar, someone please weigh in, I’m remembering many readers saying that not only is it common to do this for software engineers, but it’s encouraged.

    Also snaps for Alison for the picture.

  8. Engineer Girl*

    This question generated a lot of controversy the first time around. The main issue is that it is accepted practice to use someone else’s code snippets when developing a solution. Reuse is actually encouraged. The issue is if the code needs a license. It’s obviously an ethics breach to use unlicensed code.
    One of my biggest pet peeves was people that had to do things from scratch instead of reuse of existing licensed code or architecture. These folks almost always delivered late, and had buggy code. They wasted to projects time and money by doing their own new thing instead of using something already available.
    A better question to ask was how and why that code snippet benefited the problem. What problems could occur during reuse, etc.
    BTW – I was often on the leading end of first time technology. We many times had to develop our own software as the technology didn’t exist yet. That said, we reused and shared like crazy to cut down on delivery time.

    1. J-nonymous*

      Yeah, this post pushed all my “reuse is not the same thing as cheating” buttons and then I dialed myself down when I read it was a revisit to an older question.

    2. ThursdaysGeek*

      Right — you talk about why you’re using the solution found, and why it’s an appropriate solution. That tells more than whether you can remember which call to use.

    3. dr_silverware*

      But that’s in a production situation and not an interview. If I ask an candidate to describe a bubble sort function, I don’t want them to give me a wrapper for a bubble sort API call. On the other end of the stick, I’m not asking candidates to reinvent SQL when I ask them to design a small database, and if they have to ask specific syntax that’s fine.

        1. dr_silverware*

          I’m not entirely sure what you mean.

          For what it’s worth, I think that testing syntax and language knowledge is there not so you can write anything off the cuff but so you can debug whatever crap you copy off the internet and know when something will/won’t work for your code. Testing design and architecture abilities will show you if the candidate is going to write maintainable & modular code, and use API appropriately.

          1. Engineer Girl*

            I disagree. Different languages are implemented differently which means that they depend on correct design/architecture to work optimally. A code snippet from google won’t tell you this. While it is important that one knows syntax one must also remember that a good compiler will catch things faster and more accurately than any human.
            In short, having someone do a short code solution doesn’t tell you much about someone’s abilities as a software developeror their understanding of the language. On top of that, coding is only 10-20% of the task. That is why their question is so very wrong.

      1. Steve*

        The candidate might assume you don’t want the wrapper too, but I would give bonus points to a candidate if they verify that assumption before continuing.

  9. Terra*

    If you are going to ask the kind of questions that can be looked up on Google on a phone interview then you should state before hand that you would prefer they not. If you don’t and then they do use Google then it’s at least partially your fault. This is especially true of tech fields but for anyone who grew up in the “age of computers” Googling things is not only second nature it’s something we’re trained to do because it’s faster and more efficient. It’s like back when teachers would tell you to look up a word in the dictionary if you didn’t know how to spell it.

    I’ve seen the argument that “it should be clear from context” what if okay to Google and what isn’t but the fact is that it’s not. I’ve had an interviewer get annoyed with me because I googled the hexadecimal value for “S” when he asked for it but from my perspective it’s not reasonable to expect people to have the hexadecimal value for any character you come up with memorized. It’s unnecessary when Google exists and it’s a waste of time and effort for me to memorize it.

    1. Myrin*

      What I don’t understand is why you (general you) wouldn’t simply say “I’m sorry, I don’t know that by heart but I’d be able to look it up on so-and-so” in such a situation. I mean, I’ve never been in such a situation but wouldn’t it be better to assume you can’t use any aids unless otherwise stated than the other way around? I’d acctually find it pretty brazen to just go and google something if the interviewer or the setup don’t explicitly allow doing so.

      1. SusanIvanova*

        I’ve done that on interviews – “this is the sort of thing I’d usually look up, because I usually use _high level library_ instead and haven’t thought of this since college, but you want to see my thought processes so here goes…”

  10. Apollo Warbucks*

    Honenstly stack overflow keeps me employed!

    Just today I looked up a function in a coding language Im not familar with, still had to know a little to find and implement what I needed. My general rule of thumb is knowing where to get the right answer is near enough as good as knowing the answer.

    I’d have no problem in employing someone who referred to google for an answer. Someone who passes entire chunks of code off as their own is a different matter and that’s not right, but if the candidate found the answer so quicky there wasn’t a massive pause in the conversation that’s pretty impressive.

  11. Paul*

    On the other end of the spectrum, I’ve had an employer accuse me of lying in an interview. (The thing they accused me of lying about was something for which I had an award certificate from my previous employer pretty much word for word what I had on my resume.) It really soured my impression of the employer. That’s why I’d prefer route #2. Give the candidate a chance to explain.

    1. Engineer Girl*

      I had that happen too. Their attitude was that I couldn’t possibly have achieved all the things on my resume and I was clearly inflating my acheivements. I was pretty angry because I had worked my tail off.! That place was a pretty strong brogrammer culture and I always wonder if their ego was involved.

      1. Engineer Girl*

        I also noticed that these folks had mediocre skills at best. I always wondered if it was beyond their ability to see that others could perform at a higher level then them.

        1. SusanIvanova*

          There’s an old quip that A people hire A people, but B people hire C people; B people either can’t recognize talent or they’re just scared of it.

  12. Bee Eye LL*

    Although it wasn’t an outright lie, we had an applicant obviously overplay their role in a technical position. It wasn’t until we started questioning their process that they finally admitted that they were just a monitor that called the real techs to fix stuff. We recognized it because of similar processes some of our staff have experienced in other jobs. The rest of the interview was pretty weak, anyway, but the applicant trying to oversell his experience guaranteed he didn’t get a call back from us.

  13. JustMe*

    I just sort of ran into this today. HR called to ask about making an offer to an applicant and stated the applicant had told them he had interviewed at our site previously and had been offered the job but had to decline at the time. Now I’m not saying I remember exactly everyone I’ve ever interviewed here, but unfortunately for the applicant, I have a searchable log of all persons who have entered the property since it opened 3 years ago and I have been in charge of interviewing that entire time. No one by the applicant’s semi-uncommon name has ever been on our site since it was built!

    HR did try to clarify and the applicant was adamant that he had interviewed here. Noooope.

    1. my two cents*

      oh yuck. any chance there’s other related companies with a similar name? Or maybe they had interviewed on campus as a NCG? Otherwise, yikes.

      1. JustMe*

        I suggested to HR he had interviewed for our company at a different site in town, as it could be possible to mix us up. At that point HR went through their files and don’t have an application or offer letter on file for this person either.

        He must either be very confused, or extremely ballsy and sure hiring managers would have changed by now (three years is a long time to spend in one place/company in my field).

  14. Marie C.*

    In terms of giving candidates a chance to explain themselves…I had a friend who was once a nun in a teaching Order, but later left the convent. When she left the convent, she went back to using her birth name, “Lucinda Plunket.” However, during her entire teaching career (she was fully certified in her state and had a master’s in education), she was know by her religious name, “Sr. Mary Joseph.” When interviewing for her first post-convent teaching job, she had a difficult time with interviewers calling her references and asking about Lucinda, whom the references had never heard of!

    Fortunately, one of the interviewers did get back to Lucinda and asked her to clarify why there was apparently no record of her ever having taught at any of the schools listed on her resume. This gave Lucinda and the interview a chance to figure out what had happened. In the future, Lucinda also now knew to: 1. get in touch with her references and remind them that she was using her birth name a again; 2. explain her unique situation to future interviewers and let them know that they may have to ask about “Sr. Mary Joseph.”

  15. Anonymous Educator*

    This whole discussion is very interesting to me, because I don’t have any schooling in coding or anything computer related, but my full-time work the last few years has all been in computers and coding. I’ve had to pick up SQL, Python, JavaScript/jQuery, and PHP along the way. I have never been tested, and I’m sure I’ve written some less-than-stellar code. So, given that background, please take my opinion with a grain of salt—I’ve never given a coding test, and I’ve never taken one.

    Coming from a teaching background, I think the best way to construct a coding test is to test for what you think the skills are that this person will need on the job. If you believe this person (in the job you’re hiring for) will be writing stuff like functions to get the greatest integer in an array, then… I’m not sure why you are. Most of those simple functions exist in abundance on Stack Overflow. If you believe the person should be able to debug, then give her some code and have her debug it. If you believe the person needs to be able to cobble together code, have her cobble together code from multiple sources. If you want to just get a sense of her general approach to problem-solving, describe a problem, and have her describe the workflow she’d approach it with (no actual written code).

    Those three skills are the ones I’ve found most important in the coding work I do:
    1. Debug code
    2. Cobble together existing code
    3. Break down problems into a well-thought-out workflow

  16. Catlady*

    Once I was caught sort of lying in an interview–I said I had “working knowledge” in something that I, well, had working knowledge in. By that I mean I knew about the type of thing they asked me, and knew how they could be put together, but I had never actually created a plan for it. Well they saw that on my resume and asked me my experience in it. I had to tell the truth, that I had never created one. I think they felt I’d lied, even though I felt the other way. I removed that from my resume nevertheless so I wouldn’t get into that sort of situation again.

  17. TootsNYC*

    I’d love to see more comments about true lies, as opposed to the “is it cheating/lying to seek out the answer from an outside source”?

    I think I would take someone off the list if I found out they were lying. If I wasn’t sure, or thought they were exaggerating, I would probably probe.

  18. Former Computer Professional*

    My favorite caught-them-lying during an interview tale comes from a friend. He worked in a rather niche engineering area, where he had done some amount of research, up to and after his PhD.

    The candidate in question had a CV that listed being a co-author on one of the friend’s research papers. While there were co-authors on the paper, the candidate was not one of them.

    The candidate was so sure that he needed to show his proof of doing work in the field that he never noticed that the name of the principal researcher and the person he was interviewing with were the same.

    1. Tiana*

      Hah!
      That moment when you’re trying to convince someone that you worked on their project with them but you can’t even recognize them. Oh, that would have been a spectacle to see.

  19. Electron Whisperer*

    There are certain expectations in an interview environment that do differ from the way people are expected to behave on an actual project, and everywhere I have worked, at interview you would be expected to write code yourself (Apart from anything else, I will be grilling you about your design decisions, so you had better have thought about it).

    One of the interesting things about coding in interviews is that you are often looking for things well past the ‘does it work’ level, I am far more interested in how you solve the problem then I am in the solution itself (And google for code is a valid approach sometimes).
    I would note that using questions easily googled not always a problem, google is wonderful for syntax but you really should be able to design a question that has followups that work even if the candidate has googled for the basic code….

    ‘Ok, that works, now how would you make it O(n log n) average case, and what will be the worst case?’
    ‘How would you make it thread safe?’
    ‘How will this interact with the L1 cache?’
    ‘If using this in a page replacement algorithm, what are the deadlock risks?’
    ‘Write the header you would use to expose this as a library function.’
    ‘You are working in an embedded system with very limited stack space, what new considerations come into play?’
    ‘Write a suitable test vector’

    A good programming question should be a lead in to a discussion of requirements, design, testability, tradeoffs….

    Now somebody doing a cut and paste on a ‘fizzbuzz’ question would raise eyebrows, but your ‘fizzbuzz’ question should be unique anyway.

    Also, if giving a coding test (As opposed to a design or architecture question), please no white boards, sit the candidate in front of an IDE, and then watch remotely, far more instructive, requirements, design & architecture are whiteboard fodder, programming should be done at a computer.

  20. Pointy Haired Boss*

    This may be a perspective issue. Plagiarism is based on the idea that there are an unlimited number of ways to do the same thing, which is more or less true in the humanities. Programming is more like chess, especially with very basic problems; most of the basic problems have been gone over so many times that the limits of the framework have been reached, and it’s really rare to find a new original way of doing things. A person who uses a “Two Knight Defense” in response to a certain opening isn’t plagiarizing a 16th century chess-master, they are using one tool in their toolbox instead of another.

    If you want to see original code, you have to give them original problems; otherwise they will use the tools already available to them, in the same way that a person asked to dig a hole may need to decide between a shovel, a spade, and an excavator, but is unlikely to invent a wholly new instrument.

Comments are closed.