In an effort to create realistic testing scenarios that mimic actual work conditions, many recruiters and technical evaluators let candidates search on the web when completing pre-hire coding assessments or take-home projects.
While this is generally viewed as a welcome change from previous eras (which often included the dreaded whiteboard test), having web access makes it easier to copy, paste and submit code directly from repositories—which can still constitute plagiarism or cheating, even if it's unintentional.
As HireVue CTO Loren Larsen noted: “It is grossly unfair to lose out to a candidate who has copied someone’s work and passed it off as their own.”
To discourage dishonesty, many online testing platforms such as HireVue, along with in-house recruiters, have begun utilizing a variety of plagiarism-detection tools. To help you navigate and ace your next coding evaluation without a hitch, here’s a look at how these tools work and some ways to avoid unintentional plagiarism.
Ways of Spotting Plagiarism
Many technologists lack a clear understanding of what constitutes plagiarism, especially since researching others’ solutions to a technical problem is not only ethical, but also a best practice.
While acknowledging that plagiarism varies wildly from person to person and case to case, here’s how Elli Ferguson, a former programmer and principle systems engineer for a major bank, and plagiarism expert and consultant Jonathan Bailey defined it in an email:
“When you copy someone’s entire solution, or a significant part of it, and present it as your own, that is generally considered plagiarism, as long as there are other ways that solution could be reached.”
Given the “expectations of originality” in computer science, many recruiters will run a candidate’s coding solution through a software-similarity checker. Simply stated, most tools generate a similarity score by comparing the submitted code to solutions submitted by other candidates to the same challenge (or those found on the web). If you want more detail, here’s an overview of how MOSS, a popular plagiarism detection system, works.
However, some tools go deeper. For instance, HireVue’s CodeVue coding assessment product also detects copy and paste events and candidate response times that are outside the norm. “The tool doesn’t pass judgment, it provides information to the evaluator,” Larsen explained.
For example, when a candidate solves a complex problem in just 90 seconds or leaves the testing browser for more time that is typically needed for research, those events may require further investigation, he said.
To clear or confirm red flags, a recruiter or technical evaluator can also “playback” the session to look for best practices such as how often the candidate compiled the code and whether they tested it before submission (and if it passed or failed).
As Ferguson pointed out: “Testing the code shows an understanding of why or how that code works, which can be more important than the code itself.”
How to Avoid Plagiarism
To be on the safe side, always clarify the recruiter’s expectations before embarking on a pre-hire coding challenge. For instance, most entry-level candidates should be prepared to prove their skills by creating code from scratch without copy-paste. Meanwhile, providing an effective and immediate solution to a challenge by finding, editing and improving source code found in a public repository might meet the expectations for a senior-level developer.
Know the rules about how and when to use source code from an outside or third-party source—or even better, stick with public repositories. Try to use the web only for research or to gather ideas or specific pieces of information. While there will always be some overlaps in code that performs the same function, create as much original and unique code as you can.
Always add comments to your code and cite any original source that you copy or borrow, Ferguson advised: “With programming there is a higher tolerance for copying ideas without attribution but, especially when dealing with recruiters, it's important that the implementation be original to show that the person understands how the solution works and can do it themselves if called upon.”
Finally, run your code through a plagiarism checker such as JPlag or Codequiry. View the test as an opportunity to showcase your superior coding skills and win the job without copying someone else’s work.