2 minute read

1. It doesn’t reflect the real world programming experience

This can’t be more straightforward. When is the last time anyone need to solve a secondary school mathematics problem sum in real working life? That’s what most of the coding assessment platforms are trying to get candidates to do.

2. It doesn’t test candidates knowledge on code quality environment

When it comes to real-world programming, it is not just about if the code works, but more importantly is the quality, that can mean there should be enough testing, and whether the tests are sufficient and reflects the real-world possibilities. These couldn’t be tested in the little tricky coding tests. I have came across quite a few pointless test cases in work that demonstrate nothing but blindly following guidelines on what is needed, testing for the sake of testing.

3. There isn’t time to demonstrate proper thinking

Setting time limits just forces candidates to go by the easiest and fastest way out, and that is an antithesis of producing well-rounded code. There are many future aspects to consider when writing code, and that’s why we have the four-eye principle, so that we can reduce the chances of having a careless mistake resulting in huge nightmares. Unless your company’s application are so bad that requires constant fire-fighting, there shouldn’t be a requirement to code under pressure.

4. Programming theories that can be easily googled

There are some platforms I came across that just ask simple programming theories. Theories are good foundations, but one doesn’t need to remember the name of the terms to understand that. In fact, most of the time, these theories got forgotten in classes but the importance to recognize them and use them practically is picked up after gaining experience. One might not remember the name, but practises it strictly. Then, it comes the obvious question of what’s stopping anyone from simply googling for an answer?

5. It doesn’t reflect the capability to learn

Does the number of years of experience really matter on the capability of a developer? For example, the javascript I learned in school back then is now irrelevant due to the amount of new innovations that has been applied to it. Considering a developer who has been in the same company for many years, how much exposure and triggers to pick up new practises can one get? I ever got an interview question asking what are the new things in Java 8, but java 8 was released about 8 years ago! Lambdas aren’t a new thing anymore, people have been using it in many different languages for so long, it has become part of how functions should work. Asking that question just shows how backward the technical interviewer is, and how much learning opportunity can one get from working at the organisation. That’s probably why I usually see obsolete test cases, same old bad programming practises, using new technology with old ways, when I work in big established firms. Good developers are ones who are keen to pick up and understand new things, and also able to derive principles and methodologies from his/her own practises. This is not what you can deduce from such coding assessments.