Preface: I am not connected to CodeChef in anyway besides a user.
One could argue that Codeforces, AtCoder, TopCoder, and CodeChef are the big $$$4$$$ when it comes to competitive programming. However, Codeforces and Atcoder are leagues above TopCoder and CodeChef (my opinion).
In this blog, I want to discuss potential changes that could improve CodeChef to stronger competitive programming website. Here are some of the steps I propose
- Separate contests and discussions. In other words, create a website for only contests. Say we call this website CodeChef Compete and keep the discussions and tutorials on CodeChef. Contests are now held at CodeChef compete which could have a very simple and easy to use UI.
- Cheating. CodeChef has the biggest cheating problems out of the big $$$4$$$. One potential solution is a phone verification mechanism, where a user has to link their phone number to their account. This would significantly diminish the number of alt accounts and the audacity of cheaters.
- Create a CodeChef archive similar to AtCoder problems. The practice website is far inferior to AtCoder Problems.
- Rename CodeChef starters to CodeChef Breakfast.
The success of AtCoder has come from the high quality questions. So for CodeChef to gain popularity it has to at occupy some sort of niche. This could be through being the most beginner friendly competitive programming website. This starts with cleaning up the UI.