linkedin Skip to Main Content
Just announced: CoderPad Play! Engage your team with fun technical challenges.
Back to blog

Why Do Candidates Cheat? Uncovering the Root Causes and How to Address Them

Hiring Developers

“I had a hackerrank yesterday for a job. Every single problem was easy to google and I could find a solution. I didn’t want anything to be obvious though so I tried making my own solutions without looking. Did really badly, only answered 2/3 questions and one failed most tests.

So I’m curious now, is just googling for answers commonplace?”

Anonymous Reddit User

If you’ve ever worked with software developers, you’ll know they appreciate efficiency. As a former software developer, I would search every library and corner of Google and Stackoverflow before spending time trying to solve a problem I knew was already an answer.

Unfortunately for recruiters, for some developers, efficiency also means using unauthorized resources when the don’t know the answers to the questions on their technical assessments.

Like the Reddit user above, this could be as simple as Googling the answer or trying to find it using ChatGPT or Stackoverflow.

Or it could be as complex as paying for someone to take the test for them, or having a more knowledgeable friend in the room while they take the test.

According to at least one source, candidate deception is on the rise. And with the tight job market even for tech employees, this makes sense. While tech layoffs seem to have slowed over the past few months, many people really want a new job, whether working fully remotely, not being unemployed anymore, or getting the ever-elusive salary boost.

It’s easy to sit here reading this and blame malicious candidates for the troubles that cheating causes your organization. It’s more challenging to dive into why candidates cheat – and you should want to do that.

Why?

Understanding why candidates cheat will not only help you prevent cheating but will help you create a better candidate experience for ALL your candidates. 

Straight from the source: Candidates tell us why they cheat

No, we weren’t holding interrogations on candidates, nor were they readily confessing to misleading recruiters.

Instead, we rely on two sources that protect the anonymity of its survey participants: a Reddit post and a study published in the academic journal Ethics and Behavior.

☝️ A quick caveat on the academic study: In the study, it was students who were asked about cheating behavior, not job candidates. However, given similar high-pressure stakes to pass in both instances, we can extend the findings on students to what we see in job candidates.

First, I think the conclusion of the Ethics and Behavior article is worth starting with:

Most students did not initially recognize their acts as cheating. While students generally thought cheating was wrong, they often judged the exceptional cases in which they cheated to be acceptable, citing concerns such as assignment goals and task feasibility. The findings suggest that perceptions, evaluations, and competing motivations play a key role in students’ decisions to cheat.

Ethics and Behavior: “Why do students cheat? Perceptions, evaluations, and motivations”

Yes, there will always be cheaters who know what they are doing is wrong, don’t feel guilty about it, don’t offer any justifications, and are out there to screw honest people out of a job. They’re called psychopaths, and fortunately, they represent only a tiny portion of the human population.

For better or worse, most candidates who cheat don’t think they’re cheating. And that shows also in the Reddit poll:

Notice that most candidates – 61% – never felt the need to cheat. Only 5% cheated because they were simply unprepared. The remaining 34% of candidates felt justified in cheating because of frustration with the interview process.

Outside of the standard competitive job market and the pressure to land a job in tech, it looks like we can break down cheating reasons into two root causes:

  • Lack of confidence in skills 
  • Misaligned expectations

Lack of confidence in skills

A candidate may be justified or unjustified in their lack of confidence. Some may apply for a job simply for the prestige or salary it confers despite not having the necessary skills, so they resort to cheating.

Others are simply suffering from imposter syndrome – even if they have the knowledge to do well on the tech assessment or interview,  they get themselves so worked up about their perceived lack of skills that it drives them to use unauthorized resources.

Whether justified or not, the perceived skill gap can result in the temptation to cut corners. We’ve recently implemented webcam proctoring for some of our customers who do high-volume recruiting because the pressure to succeed in tech in some cultures is so intense that using unauthorized resources is not uncommon.

Even some of your best candidates may be overwhelmed by complex technical assessments and feel the compulsion to cheat, resulting in a lose-lose situation. You lose the trust of that candidate, and they lose out on a job they may be perfect for.

You need some way to ensure candidates have the appropriate skills for the job, and there is nothing wrong with using a tech assessment or interview to determine if that is the case.

So, how do you make sure the good ones don’t resort to cheating? It all boils down to demystifying your testing process and helping the candidates prepare as much as possible.

Allow candidates to get familiar with the test environment

If you’re using a test platform (*cough*CoderPad*cough*), they will often provide a pre-test environment for the candidates to use to make themselves more comfortable with the platform come test time.

For example, in CoderPad Screen, we give the candidates the option to take a tutorial before taking their test. The tutorial walks them through how to use the Screen platform and even gives them a few example questions to practice.

On our Interview product, we highly encourage our customers to send the candidates a sandbox link of our IDE. We even provide sample questions in different languages for candidates to try out on their own. The nice thing about the sandbox is the candidates can access it well before their interview, giving them plenty of time to get familiar with the IDE.

Provide test prep resources

In addition to giving them access to the test environment before they start the test, it’s a good idea to recommend resources YOU think would be good practice for them.

This could be as simple as linking to a set of practice questions from either your company or a third-party company or giving them access to questions you’ve previously used in interviews that you’re no longer using.

We also recommend telling your candidates about CodinGame, a free coding practice platform where candidates can play coding games to improve their development skills.

Share information about expectations

While we’ll cover this a bit more in the next section, there is one way that can help reduce the number of applicants applying who don’t quite have the skills needed for the job.

In the job ad and the initial screening call, be very specific about what skills the candidate will be expected to know and what proficiency they’ll need to be at for those skills. Give specific examples of what skills will be needed.

For example, don’t just say, “Need expert knowledge of React”.

Instead, say, “Need to be proficient in React, ideally ten years experience, including how to identify and address performance bottlenecks using tools like React DevTools, memoization techniques, and optimizing large-scale applications with code splitting and lazy loading.”

That way, candidates will have a better idea of if they’ll be a good fit for the position and can gracefully bow out of the interview process before they are in it and have the temptation to cheat.

Misaligned expectations

It may surprise you that candidates aren’t the only ones with misaligned expectations. Hiring managers and recruiters can have them, too – and they can incentivize candidates to cheat.

I’m talking about required skills – those you think are necessary to the job but aren’t. 

This is often the root cause of candidates’ misaligned expectations.

 As the crafty meme above illustrates, hiring for something like a backend developer and then requiring them to complete frontend test questions will set you up for some very disappointed candidates.

 And when candidates are disappointed and misled, they’re more likely to want to cheat to get ahead.

This is where the conversation between the technical recruiter and the hiring manager is crucial. 

When crafting job ads, technical tests, and interview criteria, it’s essential to be clear on exactly it was what the job would entail and what skills are necessary (rather than just nice to have) for the job.

This should be an in-depth conversation, the results of which should be reinforced in the job ad and any assessments or technical interviews the candidate may take.

This doesn’t just mean listing skills appropriately and specific on-the-job responsibilities. 

It also means making the assessments themselves take a reasonable amount of time. In fact, candidates listed that as THE top reason they skip out on take-home assessments.

This specific expectation issue hits particularly hard with candidates:

“I’ve done a couple of algorithm questions as take-homes that the interviewer said should take an hour. They routinely take longer than that.”

“Companies will say, ‘don’t spend more than X hours on it,’ but then it actually takes 5X that amount. It’s just too much time. And most of the time, they didn’t give feedback at all even though I spent so much time on it.”

It will certainly help if you have a specific and necessary set of skills you’re testing for. But equally important is managing your own expecations regarding how much time candidates actually have to take the test. 

Another critical point to communicate to your candidates is what is and is not considered cheating. 

  • Can candidates use ChatGPT to assist with basic coding? 
  • What about using Google to help solve a problem? 
  • Or importing a library to cut down on self-created code?

If there is less ambiguity in what cheating is, candidates will be less likely to use sources you consider to be unauthorized. 

All in all, there are several ways for you to mitigate cheating because you and your candidates have misaligned expectations.

Set skill expectations

As discussed above, recruiters and hiring managers should be solid on the required skills and which of those need to be tested. Recruiters shouldn’t be afraid to push back on “nice to haves,” which may surprise great candidates who don’t have those nice-to-have skills. 

While you’ll want to include these skills in the job ad, also make sure that when you’re informing that there is a tech assessment as part of the interview process you also let them know what skills will be tested on the assessment.

And don’t forget to get feedback:

  • Ask members of the engineering team in similar roles what they think of the skills requirements. 
  • If you don’t have access to that, even just looking at job ads for similar roles can be helpful to see which of your skills can be removed. Plus, you can see what some of your competitors are looking for.

Be intentional in designing your assessments and tech interviews

This refers to tailoring assessments to reflect on-the-job tasks rather than abstract problem-solving.

If you’re testing for backend developers, ensure you only use backend-related questions. It’s the same for frontend, full-stack, data science, or any other tech role you’re hiring for.

Additionally, make sure the questions you use are relevant to the skill level of the position and the job the candidates would actually be doing. 

Yes, you could have a backend engineer design a RESTful API from scratch – but will they really be doing that on the job? More likely they’ll be using a library like Express or modifying an existing API. Building an API from scratch isn’t really a relevant skill to test and you’ll find candidates feeling like this question is silly enough to warrant using some external resources, whether authorized or not.

Additionally, ensure the questions you’re providing your candidates have clear instructions and allow them to ask clarifying questions. There’s nothing worse than working hard on an answer only to fail because you didn’t guess the exact answer the interviewer wanted – candidates aren’t mind readers!

Manage time expectations

In the Interview.io survey we tagged above, they found that “over 80% of survey respondents said that take-homes should take 4 hours or less, and a plurality thought that they should take 2 hours.”

Those seem like reasonable time limits; you’d do well to heed them. As much as you may want to test developers for every potential skill set you think the job will need, you’ll need to balance that with the fact that good candidates WILL refuse to do the assessment and drop out of your hiring process if you make it much longer than two hours.

Also, communicate those time limits to the candidates. Even a 2-hour assessment can be hard to fit into a busy life, and the more heads up you give your candidates, the more easily they’ll be able to fit it into their schedules in a reasonable time frame.

I see cheaters…all the time

The problem with cheaters is that they are a tiny minority of your test takers. Still, because it’s hard to detect who they are before they take your tests, cheating prevention must necessarily affect all candidates, even the majority who wouldn’t dream of using external resources. 

But overt cheating prevention measures can easily scare candidates away. Candidates like interviewers, recruiters, and processes begin from a place of trust, not paranoia. That means that if you’re going to prevent the worst effects of cheating you also have to balance it with a good, trustful candidate experience. 

Please check out the blog posts below if you’d like more information on cheating prevention for your interview processes.