Soy un graduado de ECE. Ahora tengo dos años de experiencia como desarrollador de C ++. Acabo de empezar a estudiar programación algorítmica. ¿Hacer una programación competitiva y sobresalir en eso ayudará a mi avance profesional?

La programación de la competencia es extremadamente diferente de lo que harás en la industria. En la programación competitiva, se le presenta un problema relativamente ordinario que encaja en algún tipo de categoría, es decir (casco convexo, teoría de gráficos …) y se espera que piense en una solución rápida que se ejecute en un marco de tiempo razonable.

En la industria, se espera que te den un problema del mundo real. Entonces se supone que PENSARÁS sobre el problema. Entonces, se supone que debe codificar su solución. Entonces, se supone que debes pasar muchos días tratando de descifrar tu código de todas las formas posibles. Entonces, se supone que debes encontrar diferentes soluciones para el mismo problema y comparar tu solución anterior.

La programación competitiva es poder recurrir a un conjunto bastante organizado de algoritmos para resolver problemas que tienen un nivel de variedad, pero todos vuelven al mismo tipo de problema.

Esto es extremadamente diferente de la experiencia que necesita para avanzar en su carrera. ¡La codificación competitiva es divertida! Me encanta. Pero no muestra cuán considerado y minucioso eres como programador.

Por supuesto, la codificación competitiva le ayuda a aprender una variedad de algoritmos. Si no conoce estos algoritmos, entonces es extremadamente beneficioso. Pero si quiere trabajar en la industria, esos algoritmos básicos deberían haberse aprendido hace mucho tiempo.

Entonces, ¿debería convertirse en un codificador competitivo decente? Sí, creo que eso te ayudaría en tu trabajo. ¿Pero para avanzar en tu carrera? Sobresalir en la codificación competitiva puede brindar confianza, pero no creo que lo ayude de ninguna otra manera.