DEV Community

Cover image for How Senior Developers Sabotage Interviews
byby.dev
byby.dev

Posted on • Edited on • Originally published at byby.dev

How Senior Developers Sabotage Interviews

Coding interviews are a common part of the hiring process for software engineering positions. While some people excel at these interviews, experienced developers may still struggle to perform well, even with 10+ years of experence and impressive track of record.



In this article, we'll explore some reasons why experienced developers may fail, be aware and to take steps to improve the performance, ultimately increase chances of success in coding interviews.

"The greatest glory in living lies not in never falling, but in rising every time we fall." - Nelson Mandela

Overconfidence

One of the biggest reasons why experienced developers may fail coding interviews is overconfidence. They may assume that their years of experience and expertise in the field will be enough to handle any challenge that comes their way. However, coding interviews are designed to test a specific set of skills, and experience alone may not be enough to pass them.

In some cases, overconfidence may lead experienced developers to skip important steps in the problem-solving process. They may assume that they know the answer without fully understanding the problem or exploring all possible solutions. This can lead to mistakes and inaccuracies in their code, ultimately leading to a failed interview.

Solution: While experience is valuable, it's important to have a strong foundation in the fundamentals of data structures and algorithms. Developers should focus on building and maintaining these skills, even if they are not used on a daily basis in their work.

Lack of practice

Another reason why experienced developers may struggle with coding interviews is simply a lack of practice. If a developer has been working in the industry for several years, they may not have had much experience with coding challenges or algorithmic problems.

Coding interviews typically focus on specific skills, such as data structures and algorithms, that may not be used on a daily basis in a developer's work. Without regular practice, these skills may become rusty, and developers may struggle to apply them in a high-pressure interview setting.

Solution: The more practice developers have with coding challenges and algorithmic problems, the better prepared they will be for coding interviews. There are many resources available for developers to practice, including online coding challenges and practice interviews with friends or colleagues.

Poor time management

Time management is a crucial skill in coding interviews. Developers are often given a limited amount of time to solve a complex problem, and they must be able to efficiently allocate their time to each step of the problem-solving process.

Experienced developers may be used to working on projects that take weeks or even months to complete, and they may not be accustomed to the time constraints of a coding interview. They may spend too much time on one part of the problem, leaving them with little time to complete the rest of the task. This can lead to rushed or incomplete code, resulting in a failed interview.

Solution: Developers can improve their time management skills by practicing with timed coding challenges and focusing on efficient problem-solving techniques. They should also be aware of the time constraints in a coding interview and develop strategies for allocating their time effectively.

Lack of communication

In coding interviews, communication is key. Developers must be able to clearly explain their thought process and the steps they are taking to solve a problem. They must also be able to receive feedback and ask questions when necessary.

"If you can't explain it simply, you don't understand it well enough." - Albert Einstein

Experienced developers may be used to working independently or with a small team, and they may not have had much experience with communication in a high-pressure interview setting. They may struggle to explain their thought process clearly or to ask for clarification when needed. This can lead to misunderstandings and mistakes in their code.

Solution: Developers can practice their communication skills by explaining their thought process out loud while working on coding challenges or by practicing mock interviews with a friend or colleague. They should also be aware of the importance of asking for clarification and giving and receiving feedback.

Lack of familiarity with new technologies

In the constantly evolving field of software development, new technologies and tools are emerging all the time. Even experienced developers may not have had much exposure to these new technologies, especially if they have been working on the same projects for several years.

If a coding interview requires knowledge of a new technology, an experienced developer may struggle to answer related questions or complete coding challenges that involve that technology. To address this issue, developers should stay up-to-date with the latest technologies and actively seek out opportunities to learn new skills.

Nerves and anxiety

Coding interviews can be a nerve-wracking experience, especially for those who are not used to performing under pressure. Experienced developers may feel additional pressure to perform well due to their years of experience and their reputation in the field.

If nerves and anxiety are interfering with a developer's performance in coding interviews, it may be helpful to practice relaxation techniques, such as deep breathing or visualization, before the interview. Developers can also seek support from a mentor, friend, or therapist to manage their anxiety.

Lack of attention to detail

Coding interviews often involve complex problems that require attention to detail and a methodical approach. Experienced developers may be used to working on larger projects where minor errors may not have a significant impact on the final product.

In a coding interview, however, small errors can be the difference between a passing or failing score. Developers should pay close attention to details such as syntax, edge cases, and data types to avoid simple mistakes that can impact their performance.

Conclusions

The materials that you need to learn in order to prepare for tech interviews are much different than what you typically encounter with on your day to day job.

Failing an interview question that you encountered for the very first time is fine, however, failing on the second time with the exact same question is not ok.

At the end of the day, failing coding interviews are normal, because everyone has to stumble at some point but it’s important that you learn from your past mistakes and get back up to try again. Don’t let your past failed interviews put you down, the more you failed, the more experience you gained and eventually you will do well in a coding interview.

Be humbled and believe in yourself. Good luck!

Top comments (20)

Collapse
 
valeriavg profile image
Valeria

There's one more reason as I see it: sometimes it's not the developer, it's the interview that fails :-)

Collapse
 
bybydev profile image
byby.dev

I definitely think there's some truth to that. I was in the position of interviewer many times in my previous company and I can tell that my peers didn't know what to ask, they just ask what they know, sometimes they don't even have the answers for the questions. Basically many interviewers didn't put any effort on preparing questions, sometimes they feel wasting time.

Collapse
 
valeriavg profile image
Valeria

Cannot agree more! And it’s important to remember that interview is a two way lane: it should show applicant what they can expect just as much as to an employer.

Collapse
 
matpk profile image
Matheus Adorni Dardenne

I'm currently struggling with that.

I have almost a decade of experience as a software developer. I architected, engineered, and coded a couple dozen different systems, applications, and apps... marketplaces, e-commerce solutions, 360-evaluation tools, GPS-trackers, dashboards for IoT sensors... I also built my own tech-company during the pandemic (turns out it was kind of a bad idea lol)... but am failing interviews left and right to challenges such as "you have 30 minutes to write a function that receives JSON detailing the website and outputs the HTML as a string".

I guess I must start over from the beginning. Time to remember the password for my Beecrowd account.

Collapse
 
domingosl profile image
Domingo

Problem is most first level interviews are not conducted by developers but rather by a dude that received a 101 flash course on how to interview developers, probably written by another HR dude that does not know how to correctly mesure developer experience and value.

Keep up looking! Im sure you'll find some great opportunities soon!

Collapse
 
bybydev profile image
byby.dev

I'm sorry to hear that you're struggling with interviews despite your impressive experience and accomplishments. It sounds like you've worked on a wide range of challenging projects and developed a lot of valuable skills. It can be frustrating to face coding challenges that don't seem to reflect your expertise or real-world experience. I hope you find the right opportunity soon and don't have to start over completely. Good luck!

Collapse
 
erdo profile image
Eric Donovan

This really sucks, try not to let it knock your confidence or the enjoyment you get out of programming. It is also a bit of a numbers game, the next interview you could come out looking like a total genius depending on what random thing they ask you about

Collapse
 
fryderyq profile image
Fryderyq D

I think the real issue is:

"Coding interviews typically focus on specific skills, such as data structures and algorithms, that may not be used on a daily basis in a developer's work."

So why the hell they focus on things that are totally not used in 99.99% of work you do later after joining the company? To me this sound like a broken interview process.

Collapse
 
bybydev profile image
byby.dev

You make a valid point. It's true that coding interviews often prioritize skills that are not necessarily applicable to everyday work as a developer. However, it's important to note that these skills are still important to have in order to solve complex problems that may arise in a developer's work. Additionally, companies often use these skills as a proxy for problem-solving ability and general technical proficiency.

Companies should strive to create a more comprehensive and relevant interview process to better assess candidates and ultimately make more informed hiring decisions.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Something about the idea of failing an experienced developer on the basis of being too used to the job just feels to me like there might be something deeply wrong with this whole interview process.

Collapse
 
bybydev profile image
byby.dev

Sometimes the experienced developer chose to fight the wrong battle.

Collapse
 
explorer14 profile image
Aman Agrawal

If companies take time to design an interview process and challenges that are a more accurate representation of the kind of work they will be expected to do in that company, then it removes the need for these stupid brain teasers (that's what they are) and reduces the unnecessary anxiety for the candidates.

I have helped create just such an interview process and a take home technical assignment at my org, it's not perfect but it gives the candidate a chance to exercise some of things that we'd expect them to know and work with once they start with us:

  • clean architecture and code
  • isolated/unit testing
  • paying attention to service contracts, logging, concurrency
  • documentation
  • communication with the interviewers as though they are your remote colleagues

We give them enough time to work on this assignment and during the interview we have a conversation about their hand-in and deep dive into their thought and decision making process based on the code they submitted. I have personally interviewed over a 100 candidates with this process over the last 3 years and when asked to rate the interview experience, I can't remember one candidate that didn't say they really enjoyed this kind of "coding challenge", much better than orgs. My colleagues have reported similar experiences with the candidates they have interviewed.

So yes sometimes it's the interview process that needs an attitude adjustment, its not always a burden for the candidate to bear if you as an org are lazy or don't care or are too misguided to think that brain teasers are a great way to asses candidate fitness for the role in the org.

Collapse
 
more2code profile image
more2code

I have a decade development experience as well. When it comes to the "technical" interview, companies are focused more on technical vocabulary, explainations about irrelevant techniques, and being able to answer "gotcha" questions. It makes the interview less productive because it becomes more about SOUNDING technical then explaining how you've used technology to develop productive solutions. I believe that's why it takes companies longer to fill positions OR end-up with so-so Developers. I'm thinking of starting my own comapany.

Collapse
 
bybydev profile image
byby.dev

It's encouraging to hear that you're considering starting your own company. With your decade of development experience, you'll be well-equipped to succeed.

Collapse
 
trevoradams profile image
Trevor Adams

FYI only: minor typo in the link - Top 10 Classic Interivew Questions

Collapse
 
bybydev profile image
byby.dev

Fixed. Thanks a lot!

Collapse
 
mfurmaniuk profile image
Michael

Rusting skills is always a problem when as an experienced developer to get asked to do so much more, and have less and less time for other things. Finding a balance is hard.

Collapse
 
erdo profile image
Eric Donovan

I'm not sure I agree with the bit about experienced developers not noticing minor errors. I would say it is the experienced developers who spot all the minor details that come back to bite the team later, and it's junior/mid developers who typically cause themselves problems down the line by misnaming things, applying patterns they read off medium without completely understanding them, writing unmaintainable code, or not handling error cases or rotations or process death properly (on android)

I wonder where that assumption comes from. I do remember an interview I was in recently which was a live coding exercise in a text file, and thinking that a lack of autocomplete and syntax warnings was really slowing me down (I lean on the IDE a lot, and I avoid using my memory as much as possible). Perhaps that looks like a lack of detailed knowledge to someone who hasn't learnt to lean on their IDE yet.

Collapse
 
erdo profile image
Eric Donovan

I think it's definitely worth reminding yourself how to do timed coding challenges and brushing up on some basic algorithms if it's going to be that sort of interview.

But when you're being interviewed by someone who knows less than you, it's really more about guessing what you think they think is the right answer, rather than giving them what you think is the correct answer. (And it's also about holding your tongue when they say something totally stupid 🤣)