DEV Community

Discussion on: Coding Tests Eliminate Some of the Best Candidates

Collapse
 
yjdoc2 profile image
YJDoc2

Hey, amazing article !! I really liked your writing style, and overall flow 😄

I would like to know your opinion on something :

At least in all coding tests I have given (most on something like hackerrank) where you have to solve given coding question which must run within a specific time, and you cannot switch windows or change tabs. Also if any test case fails, you don't get any output produced or chance of debugging to find why it went wrong.

Now I understand that one would wish the candidate to think of all edge cases and write code for them, I would usually write separate test file to keep the code clean and spend maybe half - or one or more hour just for making sure I have tested for all corner cases, and would set up some logger or something to get enough info to debug for cases which I haven't considered (I'm not perfect :) )
So does the ability to properly prepare the application for debugging and actually debug plays no role?

Also as even a single sub domain of computer can have so much of knowledge and concepts, I tend to rely a bit on Google , stackoveflow, dev etc to know concepts or code for things which I haven't encountered before/ don't encounter much regularly. ( I believe googling effectively is a skill, but I may be wrong.)
So how can one test how well I can code an application by making me write code to test how many substring of give string have a particular number or arrangement of 1 and 0 within half an hour without using Google or asking someone who might have dealt with this before for help? (Personally I have never had to use anything like this in any of projects I have done in web dev or even compilers.)

As you have quite some experience in the field I would like to know your thoughts on this, as well as if I'm wrong somewhere in thinking this.

Thank you :)

Collapse
 
bytebodger profile image
Adam Nathaniel Davis

I definitely don't think you're wrong. However, IMHO, I feel that evaluating unit tests should be a separate part of the interview. Because, while I hate a lot of those automated tests, the goal of those tests is not typically to determine whether you have good all-around programming skills (and "all-around" would include writing tests). Rather, they aim to "quantify" your ability to solve specific problems by writing specific algorithms.

In that regard, another shortcoming of the online coding tests is that their scope is just so dang narrow. They don't highlight what kind of a coding employee you'd be. They only highlight specific little niches of your programming brain.

Your Google/Dev/StackOverflow example is spot-on. It absolutely is a skill. And when I'm evaluating potential hires, I don't much care if they've memorized every little bit of nuance in the language. I care about whether they're able to find those nuances when they need them. Do they even know when to start Googling and when to keep playing with the code?? Those are things that are not - and cannot - be evaluated with online tests.