Coding Interviews and Evidence of ability
I think the problem statement I am about to discuss has been in existence since the dawn of Software engineering. And my thoughts on this topic might raise few eyebrows and might offend a few.
But for someone who has been in this field for quite a few years now and attended a number of such coding interviews, I have my take on its reliability and validity achieved with such tasks.
Why am I writing this article?
Well I have been on both sides recently, someone who conducted a technical interview to candidates and been part of a test myself. So I thought - Why not!
I think I have made enough buffer to start with and set the mood so that my fellow developer community doesn't byte-me-off ;)
How reliable and valid are coding interviews with respect to a software developer's day-to-day tasks?
Coding tests serve different purposes they test your proficiency with computer science's first-principles, algorithmic thinking and fundamental problem solving skills of a candidate. In a way it does the Big-O analysis of a candidate during the interview process. This said there is no consistent pattern or style of interview within the tech industry. These interviews can be a high level conceptual conversations, screen-sharing interviews and variety of other styles.
Why I think coding interviews are valid?
If you ask a developer about their experience in a coding interview, the response is going to be drastically different depending on their background. But they do have a point - these interviews DO NOT represent real work. We developers never really have to write in-depth code on a day-to-day job. In addition, the majority of the topics covered during the interview are never seen outside the interviews. I mean how often will an embedded developer will use string manipulations in his day-to-day job.
So why do I think they are valid ?
For all their faults, such interviews does prove few things:
领英推荐
So all that pointed down, do I still believe it is a right way to select the candidate? in my opinion - NO!
They are just a tool to measure a developer or programmer's competency and can be administered to most any job applicant fairly consistently. But as with any tool, when used inappropriately or without the proper understanding of its usefulness, they can do more harm than good.
It shows lack of concern from the company!
I can understand in the big picture on why tests are useful. They allow a hiring person to quickly screen a large amount of candidates and gives a fairly easy metric to judge candidates.
It doesn't matter if the candidate is a self-taught programmer, a high-performing developer who has worked in the industry for decades, or a college student pursuing their first opportunity, coding tests only evaluate you on a single metric. And if you have spoken with many recruiters or HR professionals at some of the bigger companies, it acts as the ultimate gate keeper to opportunities.
Personally, a coding test requirement in the interview process indicates to me that an employer and an hiring team aren't really in touch with what makes a quality developer and how to measure actual success. But are looking for any easy way to comb through candidates and minimize interactions with candidates until they are further down in the process.
You already know what you know, No need to prepare!
Probably this sentence is highly tailored to my personal conviction (which I don't expect anyone else to have). I want the interviews to have the most honest reflection of my skills, I would want them to see me as I would be if I worked with them on a daily basis. Companies need to know that I can learn and that I'm willing to take challenges, so fair-play. Now, as an experienced professional, I personally refuse to study for a job interview for skills that I will not use on the job.?It's just not worth it.
From my personal experience, I think the core-quality which separates a good software developer from a normal copy/paste guy - is the ability to choose when to GOOGLE and what to ask in GOOGLE. Google here is just a geek word we use to ask for help, it can be anything from ChatGPT to your fellow colleague. Once you understand what you are working on (requirements) and where you are stuck at the work, at this age of information everything it is a matter of "how you frame your questions". So there is really not much to test anything in coding interviews unless you are failing to stick to the standards during your academic times!
Now at the end of the day, this is all my personal opinion from my time in the industry. But I would love to hear other people's thoughts. I am not completely against "coding tests". I think I am more against the companies which use such a test as requirement. I do not have an issue with a company that uses coding tests as one of their many metrics to evaluate candidates. I think there should always be an alternative to coding test OR that it should NOT be used as a gate-keeping mechanism in interviewing process.