Interviewing Using AI Is Not Cheating
There’s a lot of complaining about candidates using AI during coding interviews. They say it’s “cheating”.
No, it’s not.
Using AI during an interview should be expected and encouraged. The goal of an interview isn’t to see if a candidate can pass a test. The goal is to figure out how well they would do the job.
This article talks about writing code, but the idea applies to just about any knowledge-focused job.
“I want to know what they know”
This is a common refrain from hiring managers who are against using AI in interviews. They want to see what a candidate can produce from memory, unaided.
This misses the point.
The more you know about a subject, the better results you get from an AI. Using AI is a skill, and it’s a skill they will be using every day on the job.
A junior developer asking an AI to “write a web service” will get a generic, probably useless, piece of code. An experienced developer will provide constraints, specify libraries, define error handling, and ask for logging. They’ll know what to ask for, and they’ll know how to evaluate the result.
Seeing how a candidate uses an AI is a much better test of their skill than watching them struggle to remember the exact syntax for a function they could look up in seconds.
The business doesn’t care about code
Let’s be clear about something: the business, the part of the company that signs the paychecks, doesn’t care about code.
They don’t care if it’s elegant. They don’t care if it was written from scratch or with help from an AI.
The business cares about what the code does. Does it solve a customer’s problem? Does it make a process more efficient? Does it generate revenue?
The purpose of hiring a developer is to solve business problems. The code is just a means to an end. An interview process that focuses on the purity of the process, rather than the effectiveness of the outcome, is disconnected from business reality.
The myth of perfect code
Another argument is that AI produces sloppy code.
But there’s plenty of sloppy code written entirely by humans. It’s out there right now, running in production, making money for thousands of businesses.
Code doesn’t have to be perfect. It has to work. It needs to be good enough to solve the problem at hand. Over time, it gets refactored and improved. That’s just part of the normal development lifecycle.
Judging a candidate for using a tool to produce a workable solution quickly is strange. We don’t ask carpenters to smelt their own ore to make nails. We expect them to use the best tools available to build a good house. Development is no different.
The real test is whether the candidate understands the code the AI produces. Can they explain it? Can they modify it? Can they integrate it into a larger system? That’s what separates a good developer from someone just copying and pasting.