Si me cuesta resolver problemas en la clase de informática pero me encanta crear aplicaciones, ¿no soy apto para un título de CS?

Por un lado, el objetivo de los conjuntos de problemas y los ejercicios de topcoder es que se supone que causan daño a su cerebro, ya que lo exponen a formas de hacer cosas que presumiblemente no ha visto antes.

Si fueran fáciles, todos obtendrían una A en sus clases de programación y los concursos de programación serían tan inútiles como los torneos de tres en raya. Y la programación pagaría mucho menos de lo que paga, ya que todos podrían hacerlo fácilmente.

Dicho esto, si puede desarrollar aplicaciones exitosas, obviamente ha aprendido un tipo útil de programación, y si le gusta hacerlo, en realidad está bien preparado para el comercio de programación.

La programación del “mundo real” se parece mucho más al desarrollo de su aplicación que a los ejercicios de tarea. Para crear sus aplicaciones, debe crear requisitos, determinar un diseño general, ejecutar la codificación, hacer muchas pruebas, implementar la aplicación y hacer que la gente la use.

Por el contrario, los ejercicios de tarea y los problemas del concurso de programación tienden a venir con requisitos precisos, escenarios de prueba bastante simples (a menudo, solo ejecutan un conjunto exacto de datos) y son “desechados” como código una vez que haya “terminado”. Y nadie “usa” los programas. Como modelo de trabajo, este tipo de codificación está muy alejado de la programación del mundo real.

Donde el tipo de algoritmos y desafíos que ve en los problemas de tarea son importantes en el trabajo del “mundo real” es principalmente en el código de fondo y el código de rendimiento. Los motores de base de datos (donde he pasado la mayor parte de mi carrera de programación) están llenos de cosas grandes, estructuras de datos sofisticadas, ejercicios ocasionales de conteo de bits, preguntas de empaquetado de bytes, etc., pero al igual que el trabajo de su aplicación, Son proyectos a largo plazo con requisitos oscuros y cambiantes, preguntas de soporte continuas, la necesidad de involucrar a los usuarios y otros desafíos de la “vida real”.

No te preocupes por eso.

La programación es ahora un arte. Los artistas no necesitan muchas matemáticas.
La mayoría de las aplicaciones mejor calificadas en la tienda de aplicaciones con ingresos máximos ni siquiera tienen algunas matemáticas o algoritmos de alto nivel que funcionen debajo.

Perteneces a un grupo más práctico que esos matemáticos vestidos como programadores de computadoras.

Sorprendentemente, ¡hay más trabajos para personas como tú! Tienes muy buenas posibilidades.