Yo votaría la programación de la vida real.
La programación de la vida real es un desastre, en su mayor parte.
Pero competitiva puede ser mucho más desordenada cuando hay poco tiempo.
Tome TopCoder, por ejemplo: si puede llegar a la División superior, aprenderá a construir cosas fuertes. Y tienes la oportunidad de invalidar el código de otros. Siendo realistas, a nadie le gusta que señales las fallas en su código de esta manera (trabajo en equipo, no competitivo). Pero necesita saber mucho para llegar a este nivel de código fuerte e invalidar a otros. Aprenderás mucho Pero si retrocede, mientras compite a tiempo y mira su código, es un desastre hasta que tenga el hábito de construir bien las cosas (lo suficientemente fuerte como para limitar las excepciones que pueden invalidarlo). Lanzar cosas juntas para competir es una mala práctica, en mi opinión.
- ¿Debería enseñarse economía en la escuela secundaria como un curso obligatorio?
- ¿Hay escuelas públicas en el Área de la Bahía (K-12) que tengan ciencias de la computación en el plan de estudios?
- ¿Necesita seguro para hacer negocios con un distrito escolar público?
- Si pudieras mejorar tres cosas sobre cómo se enseñan las matemáticas en la escuela secundaria, ¿cuáles serían?
- Cómo pensar que Estados Unidos sería diferente si la química, la mecánica y la electrónica fueran todas partes obligatorias del currículo K-12
Otra forma de verlo, un punto que trato de transmitir: la razón por la que hay una gran industria de seguridad informática es porque las personas se ven presionadas a moverse demasiado rápido y no prestar atención a los detalles. Gran alboroto sobre BS más tarde que podría haber sido tratado en primer lugar si las personas se preocuparan por las buenas prácticas.
Si vas a construir algo, mira la evolución del proyecto de código abierto de la vida real con muchos colaboradores. Tenga en cuenta que aquellos que se adoptan más rápido tienen mejores prácticas de programación detrás de ellos (incluida la documentación, las pruebas, el flujo de programación y el enfoque).
Aprende a construir como el profesional primero, luego compite.
De cualquier manera ganas experiencia. ¿Desea escribir código basura que nadie lea o preste atención, o desea llamar la atención sobre sus esfuerzos y no solo sobre sus habilidades? También hay algunas respuestas interesantes sobre Quora sobre los supuestos programadores “rockstar”.