He has just received a notification about an upcoming competitive programming contest. Not willing to sacrifice his leisure time he considers skipping another contest. This time he can’t easily decide because he gave a word to his friends he would attend this one. On the other hand, the bigger question comes up in his mind:
Is competitive programming worth it?
He started putting together the list of ups and downs.
- The time pressure of a contest forces him to use his brain’s full power. Just like in muscle training: the more he trains, the easier he solves technical problems.
- Excellent playground for improving coding skills in a new programming language.
- He must have a high typing speed to beat the opponents. This is a requirement for a software engineer.
- There is a little chance to win valuable prizes in competitions like Google Code Jam.
- The coding style is quite different compared to industrial engineering. He won’t gain many skills in designing software architecture by taking part in competitive programming.
- To progress in competitive programming he must invest huge time into learning.
He values time more than anything. Therefore the upsides weighted less than the downsides in his eyes. He can’t invest in anything that brings less value than the time he spends on it.
Once and for all he decided not to focus too much on competitive programming and participate in contests only when he has time to spare.