Are Technical Interviews Broken
Software engineering is not simply coding.

As someone who has spent more than 30 years working in software engineering and now teaches computer science at the college level, I have increasingly found myself asking an uncomfortable question:
Are technical interviews actually measuring software engineering ability?
Or are they measuring something else?
I have worked in technology long enough to watch the industry change dramatically. I began my career in an era when software development looked very different. Over the years, I have written code, trained technology professionals, worked with cloud technologies, and watched development practices evolve from traditional software processes to modern DevOps pipelines and cloud-native systems.
Today, I also have the privilege of preparing future software professionals in the classroom. I teach programming, software development tools, career preparation, and computing concepts to students who are working hard to enter the field. Many of them ask me some version of the same question:
“What should I study to get hired?”
And increasingly, my answer feels more complicated than it should.
Modern software engineering involves far more than writing algorithms on a whiteboard.
Professional developers collaborate using version control systems like Git. They work with cloud platforms. They debug existing systems. They read code written by others. They participate in code reviews. They communicate technical ideas to teammates and stakeholders. They work within continuous integration and deployment pipelines. They navigate ambiguity, changing requirements, and real-world constraints.
Software engineering is not simply coding.
It is problem solving, communication, systems thinking, collaboration, and engineering judgment.
Yet many technical interviews continue to emphasize a narrow set of skills.
Students spend hours grinding algorithm problems and practicing coding puzzles under artificial time pressure. They memorize patterns. They rehearse solutions. They learn interview strategies.
To be clear, problem-solving ability matters.
Algorithms matter.
Data structures matter.
Computer science fundamentals absolutely matter.
But I worry that we have created an interview ecosystem that sometimes rewards interview preparation more than engineering capability.
Imagine two candidates.
One candidate can quickly reverse a binary tree during a timed interview.
The other candidate has experience working with Git workflows, cloud deployments, debugging complex systems, collaborating on software projects, and building maintainable applications.
Which candidate is the stronger software engineer?
The answer is not always obvious.
And that is precisely the problem.
Some companies have started evolving their hiring processes. Portfolio reviews, pair programming exercises, take-home projects, system design discussions, and conversations around previous technical work are becoming more common.
These approaches may provide a more complete picture of a candidate’s abilities.
As educators, this creates challenges as well.
Should we spend more time preparing students for interview puzzles?
Or should we continue emphasizing software engineering practices that mirror professional environments?
My belief is that we must continue teaching students how to build software — not merely how to pass interviews.
Version control.
Debugging.
Collaboration.
Cloud technologies.
Testing.
DevOps practices.
Communication.
Requirements analysis.
Professionalism.
These are not secondary skills.
They are software engineering skills.
I tell my students regularly that becoming a software engineer is not simply about learning programming languages. It is about learning how to solve problems alongside other people while building systems that matter.
Technical interviews are not entirely broken.
But when hiring systems place too much emphasis on memorization and artificial problem-solving environments, we risk overlooking talented future engineers who may excel at building real software in real teams.
As both an educator and someone who has spent decades in this profession, I believe we should continue asking difficult questions about how we evaluate technical talent.
Because the future of software engineering may depend on whether we are measuring what truly matters.










