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