Out in the real world, nobody is going to give you a complete set of test data to validate your code with. You may have a code review, CI system or possibly a QA team to perform som quality control on your code (like the public samples found in the Kattis problems), but outside extremely high stake coding that is basically it. After all, validating the correctness of a program is typically at least as hard as writing it.
So, once the code leaves your hands it is going to be deployed to a production environment more or less as is. And once the code is in production, there is almost no limit to the costs that can be caused by bugs... To make matters worse, feedback and debugging information is often very limited once the code is out of development. You are going to learn that something breaks, weeks or possibly months after the deploy, often with very little context. Tracebacks, core dumps, procedures to replicate and sample data are unicorns.
Simply put, in the real world, nobody is going to be looking at half baked attempts, figure out if it is correct or not, and kindly provide extra test cases if it fails. Your code will go into production, broken, and you will have a mess to deal with.
Therefore, Kattis is designed to encourage programmers to analyze a problem and write both correct and performant code. You can view submitting to Kattis a bit like pushing to a master branch and deploying to a production environment. Without the stress of having somebody calling you 5 minutes later to inform you that you just took down everything... ;)
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article