Além das razões óbvias, como financeira, emprego e reconhecimento, quais são os benefícios práticos / reais do uso de sites de competição em programação?
Parece bastante algorítmico e matemático pesado, mas como isso se relaciona com algo prático, na sua programação diária?
fonte
Obriga você a aprender novas técnicas que você não teria aprendido em seu ritual do dia a dia. Esses novos aprendizados podem ser revertidos e aplicados para melhorar seus rituais diários.
fonte
Gosto de sites como o TopCoder, devido ao seguinte motivo:
1. Abordagens diferentes para um único conjunto de problemas: Existem várias maneiras de resolver um problema; isso aconteceu comigo tantas vezes que eu encontrei uma maneira de resolver um problema e a resposta tinha uma maneira melhor e eficiente de fazê-lo. Essa é a maneira mais eficiente de lembrá-lo de que existem várias abordagens para resolver um problema e uma habilidade muito útil em cenários da vida real.
2. Sistema baseado em classificação e concorrência melhor você:Quando você enfrenta muita concorrência de outros caras do mundo, isso certamente o torna melhor. Não importa onde você terminou, mas sim, você se sente motivado. Nem todos os caras frequentam boas faculdades. Conheço muitos programadores autodidatas que são visitantes regulares desses sites e dizem "Sites como o Topcoder satisfazem suas necessidades de programação".
Você já mencionou Finanças, emprego e reconhecimento, então acho que esses sites são uma boa maneira de consumir conhecimento da Internet. Eu regularmente assumo esses desafios, pois eles me mantêm interessado em ciência da computação e programação.
fonte
Meus poucos centavos seguem:
1) Eles são úteis para deixar você satisfazer sua sede de conhecimento.
2) O TopCoder geralmente organiza competições de várias organizações que pagam pela solução de problemas da vida real.
3) Normalmente, os problemas no TopCoder, GoogleCode, SPOJ etc. são um subconjunto de um problema do mundo real , portanto, resolvê-los prepara-se para qualquer extensão de tais problemas no futuro.
4) Mais importante ainda, participar ativamente deles ou de qualquer competição desse tipo (mesmo no local de trabalho) mantém seu cérebro funcionando e ativo.
fonte
Eles lhe dão outra oportunidade de praticar. Você pode praticar usando diferentes técnicas ou estruturas. Então, quando você tiver a oportunidade de usar essas técnicas ou estruturas em sua programação diária, terá alguma experiência.
fonte