¿Debo involucrarme en la programación competitiva?

Si le gusta resolver problemas matemáticos y lógicos en su tiempo libre, y puede expresar su lógica en 100-500 líneas de código pequeño, entonces debería hacerlo. La programación competitiva es un deporte y, como cualquier deporte, debe practicarlo con sinceridad si desea obtener un buen resultado. Necesita de 5 a 12 meses de esfuerzo dedicado para cubrir el plan de estudios según sus capacidades y el tiempo que puede invertir, y muchas horas de práctica de resolución de problemas.

Creo que deberías.

Es un ejercicio cerebral garantizado y el resultado final es que usted es capaz de encontrar una solución a un problema difícil muy rápidamente.

La gente hace programación competitiva para obtener una buena calificación, para ganar trofeos, para ganar premios o para prepararse para entrevistas de trabajo. Algunas compañías ofrecen trabajos solo a los de mejor desempeño.

El único desafío en la programación competitiva es encontrar una solución y escribirla en pocas líneas muy rápidamente. Pero, en el desarrollo de software hay muchos como: mantener una base de código grande, escalamiento, seguridad, rendimiento, costo, etc.

Aprenderá a leer el código de otras personas, y en el proceso aprenderá sobre nuevas metodologías y algoritmos. Se le anima a resolver un problema utilizando múltiples enfoques; hay una gran comunidad activa en diferentes foros de discusión para ayudarte con esto.

También necesitas invertir algo de tiempo en Matemáticas como teoría de números, álgebra, probabilidad y combinaciones, teoría de grupos, etc.

Al principio, será abrumador, pero al final será gratificante. Lee blogs, mira videos y practica.

He participado en docenas de hackathons, pero nunca he hecho un evento que califique como “programación competitiva”. Así que, por favor, tome mis palabras con un grano de sal.

Mi impresión de programación competitiva se basa en leer mucho al respecto y hablar con muchas personas que compiten en Topcoder y en eventos de ACM. Y es esto: la programación competitiva es una habilidad relativamente estrecha en la que te sumerges profundamente.

Al igual que con muchos otros deportes, la programación competitiva requiere una tarea complicada (desarrollo de software) y la resume en una habilidad específica en la que las personas compiten. La programación competitiva usualmente se reduce a algoritmos de escritura.

Una forma de verlo: escribir algoritmos es para el desarrollo de software lo que la puntería es la caza. Es importante, claro. Pero es solo un aspecto de una actividad mucho más complicada.

Escribir algoritmos es solo una pequeña parte de ser un desarrollador efectivo. Una gran cantidad de desarrollo de software es saber cómo usar diferentes herramientas, saber cómo colaborar en proyectos y cómo interpretar los datos de sus usuarios.

Entonces, ¿debes entrenar para la programación competitiva? Si tiene una personalidad competitiva y disfruta estar en el N% superior de personas i