The Broken Interview Process in the Software Industry: A Need for Change

Codecat15
4 min readSep 22, 2023

--

https://unsplash.com/photos/Vqg809B-SrE?utm_source=unsplash&utm_medium=referral&utm_content=creditShareLink

In today’s software industry, the interview process is often considered a make-or-break moment for candidates seeking positions as developers, engineers, or architects.

However, it’s becoming increasingly evident that the traditional interview process is deeply flawed.

It places unrealistic expectations on candidates and often fails to provide an accurate assessment of their true capabilities.

In this blog post, we’ll delve into the issues surrounding the current interview process and explore what both interviewers and candidates can do to improve it.

The Problems:

1.Expecting Candidates to Know Everything: One of the biggest flaws in the software industry’s interview process is the expectation that candidates should know every detail about every technology or concept. While a certain level of knowledge is necessary, it’s humanly impossible to be an expert in every area.

  • What to Do (Interviewer): Focus on assessing core skills and problem-solving abilities rather than obscure trivia. Ask questions that gauge a candidate’s ability to learn and adapt quickly.
  • What Not to Do (Interviewer): Avoid nitpicking on minor details that can be easily looked up in real-world scenarios.

2. Clean Coding vs. Real-World Codebases: Interviewers often ask questions about performance-driven code, good architecture, and clean coding practices and often grill them hard on this section.

However, when candidates join the company, they may find the codebase is messy and lacks adherence to these principles. Sometimes, the excuse is that the application is in the middle of a rewrite, but more often than not, programming principles are simply ignored.

  • What to Do (Interviewer): Be transparent about the state of the company’s codebase during interviews. Discuss ongoing efforts to improve it, such as refactoring or rewrites.
  • What Not to Do (Interviewer): Don’t create a misleading impression of the codebase. Set realistic expectations to avoid a culture shock for new hires.

3. Unrealistic Coding Challenges: Candidates are frequently presented with incredibly challenging coding problems that would normally take several sprints to complete. They are expected to solve these problems in a matter of days, leading to extreme stress and sleepless nights.

  • What to Do (Candidate): Politely express your concerns during the interview. Ask if there’s a way to break the problem down into smaller, more manageable tasks.
  • What Not to Do (Candidate): Don’t accept unreasonable tasks without discussing them. It’s essential to prioritize your well-being and mental health.

4. Lack of Comfort: Interviewers often forget the importance of making candidates feel comfortable during the interview. Nervousness can hinder a candidate’s ability to showcase their true skills and potential.

  • What to Do (Interviewer): Start the interview with a friendly introduction, and encourage questions and discussions. Create an atmosphere where candidates feel at ease.
  • What Not to Do (Interviewer): Avoid creating a hostile or overly competitive environment that can increase stress levels.

What Interviewers Can Do:

1.Set Realistic Expectations: Interviewers should acknowledge that no
one knows everything. Instead of expecting candidates to be experts in all areas, focus on their problem-solving skills and ability to learn quickly.

2. Align Interview Questions with Reality: Ensure that interview questions reflect the actual state of the company’s codebase and development practices. If clean coding is essential, make sure it’s practiced within the organization.

3. Reasonable Coding Challenges: Provide coding challenges that are representative of the actual work candidates will do. Don’t ask them to complete a marathon task in a sprint’s time.

4. Create a Comfortable Environment: Make candidates feel at ease during the interview. A relaxed candidate is more likely to perform to the best of their abilities.

What Candidates Can Do:

1.Speak Up: If a coding challenge or question seems unreasonable or too time-consuming, don’t be afraid to discuss it with the interviewer. Open communication is key.

2. Highlight Soft Skills: Emphasize your soft skills, like teamwork, communication, and adaptability, which are often as important as technical skills.

3. Do Your Homework: Research the company’s coding practices and culture before the interview. This will help you prepare and align your expectations.

Conclusion:

The current interview process in the software industry is undoubtedly flawed.

Expecting candidates to be experts in everything, asking questions that don’t align with reality, and imposing unrealistic coding challenges only serve to create unnecessary stress and hinder the hiring process.

Both interviewers and candidates must work together to make the process fairer, more reasonable, and ultimately, more effective.

By doing so, we can create an industry where talent is recognized, potential is realized, and the right fit is found for every role.

--

--