The Reverse Coding Interview
Recruiting High-Quality Programmers in the Age of AI
(Primarily, for a technical audience. Also available on Substack.)
What Is Reversal?
Imagine I’m interviewing you for a software engineering or programming job. You know the drill — coding interviews, whiteboards, algorithms.
Now consider our roles in reverse.
What if, instead of you writing code, I presented my own flawed attempt and asked for your critique?
Rather than asking you to “Implement a binary tree,” I write a shaky version myself — errors included — and you analyse it live.
That’s reversal — a deliberate “back-to-fronting” or “upside-downing” of traditional methods to assess skills differently.
Reversal flips the usual dynamic: roles, tasks, or questions turn upside down. You’re not merely proving coding ability; you’re demonstrating how you think, adapt, and identify flaws. It’s less about memorized solutions and more about exposing your reasoning process — vital in this Age of AI.
Examples of Reversal in Action
Many components of the standard coding interview can be reversed.
- Live Code Review: I share a flawed code snippet — perhaps a loop teetering on collapse. You don’t write anything. Instead, you pinpoint issues, suggest fixes, and explain inefficiencies, revealing your debugging prowess.
- Correct My Explanation: I describe a particular concept (say, time complexity), with intentional mistakes or misstatements. You spot the errors and set me straight, showcasing your depth of understanding.
- Optimize Existing Code: I provide a functional but sluggish sorting function. Your task is to enhance it — no blank slate, just practical refinement — highlighting your grasp of performance.
- Guide the Solution: I act as a novice engineer, struggling with a problem. You direct me through it, breaking down steps clearly. This tests your ability to communicate and lead.
- Infer the Function: I give you test cases — say, “Input: [1, 4], [2, 3], Output: [1, 2, 3, 4]” — and you deduce the underlying logic. It’s reverse engineering, emphasizing your analytical skills.
- Self-Critique: Instead of “Why should we hire you?” I ask, “Why shouldn’t we?” Your honest reflection reveals self-awareness — a trait harder to quantify.
- Introduce a Bug: I present clean code; you insert a subtle flaw — like an off-by-one error tied to rare conditions — that will be very difficult to find. This probes your debugging insight.
- Break the Output: I show a function’s result. You craft test cases to expose its weaknesses — edge cases, overflows — demonstrating critical thinking.
- Onboarding Scenario: You explain how you’d introduce me to your last project as a new teammate. Can you simplify complexity? That’s a real-world skill.
- Craft a Question: I hand you code; you transform it into an interview question. This gauges your ability to assess difficulty and teach.
- Reverse Resume: I give you a printout of a resume (not yours). You tell me what you don’t like about it.
These methods depart from convention, prioritizing adaptability and insight over rote performance.
Why Reversal Matters — Especially in the AI Age
AI is reshaping the programming landscape. Tools like Copilot produce solid code in seconds. If raw coding speed no longer sets you apart, what does?
Reversal shifts the focus to skills AI can’t easily replicate.
When I write code and you critique it, you’re not racing AI’s flawless syntax — you’re exercising judgment: “This works, but it’s inefficient.” AI excels at execution, not trade-offs. Optimizing my rough solution tests your contextual problem-solving, a human edge over algorithmic output.
Communication and nuance shine too.
Guiding me through a problem demands clarity and patience — qualities AI lacks. Catching my intentional errors in an explanation requires subtlety, not just pattern-matching. Designing a project or planting a clever bug shows creativity and foresight — areas where AI remains rigid.
Reversal aligns with the AI age by valuing depth over mere rote.
It’s not about who codes fastest — machines dominate there. It’s about who thinks most critically. Employers need engineers who can question, refine, and collaborate — not just churn out lines. AI may write the program, but you ensure it doesn’t fail in production.
Concluding Thoughts
Reversal isn’t just a technique — it’s a perspective.
In a field where AI handles the routine, it provides humans a chance to prove their humanity. And that, in other words, means proving they can survive in an age that will be increasingly dominated by AI.