¿Puedo seguir siendo programador aunque fracasé en física y química en la escuela secundaria?

Sí. La física, las matemáticas y / o la química no tienen nada que ver con la programación. La única matemática que necesitas entender para ser una programación es el álgebra de la escuela secundaria.

Fallé en física en la escuela secundaria y he sido desarrollador durante décadas. Yo diría que un mejor predictor de las habilidades de programación potenciales son las personas que les gustan las actividades creativas como el arte, la escritura, el soñar despierto, etc. La programación es alrededor de 40 por ciento de lógica y 60 por ciento de abstracción creativa.

Toda la programación contiene varios niveles de abstracción. Ser capaz de visualizar lo que no existe excepto en tu mente es la habilidad clave de un programador. El código y la lógica dan forma a esas abstracciones.

Así que sí, estarás potencialmente bien como programador. Si puede pensar en pasos, vea detalles como los que vería al crear una pintura, tenga buen ojo para dichos detalles y puede mantener las cosas representadas y ordenadas en su cabeza, debería estar bien.

La programación es más arte que ciencia.

A menos que estés escribiendo programas que tengan que ver con las matemáticas o la física (y eso incluye juegos, ellos dependen mucho de ambos), seguro. Apenas pasé mis cursos de matemáticas, pero me gané la vida programando durante 44 años.

Lo que necesita para la programación no es física o matemática, es la capacidad de analizar el problema y luego usar los resultados del análisis para llegar a una solución. El problema es que evolucionamos para luchar o huir, no para sentarnos y analizar esa cosa peluda marrón con largas garras. Haz eso cuando estés viviendo en una cueva, con un bastón afilado y endurecido por el fuego como arma y si no puedes pasar esos “genes de análisis”, te conviertes en alimento de oso. No es que mucha gente pueda ser buena en programación (un dicho común en la industria ha sido que el 5% de los programadores producen el 95% del código), pero si puede analizar las cosas bien, puede convertirse en un buen programador.

Pero asegúrese de que lo que está aprendiendo en la universidad es cómo analizar problemas, no cómo escribir código. La parte del código es trivial y toma alrededor del 5% del tiempo de un programador, es el análisis y la solución lo que toma el otro 95%. Si escuchas cosas como “aprender a programar en Python”, estás en la escuela equivocada. Aprendes a programar y puedes aprender Python, pero aprender un lenguaje de programación no te enseña cómo analizar y resolver problemas.

Si desea una vista avanzada, eche un vistazo a Teach Yourself Computer Science.

Absolutamente. Las habilidades son muy diferentes. Más crucial es cómo lo hiciste en las clases de matemáticas. No tanto porque necesita el material específico, sino como un indicador de su nivel de razonamiento lógico, que es crucial para la programación. La computadora es un Encarnado de Demonio Lógico. Te atormentará dándote exactamente lo que pediste, ya sea que te refirieras o no. Ninguna otra cosa en el mundo es tan feroz para obligarte a enfrentar la realidad, ya que cuando tu programa no funciona y tienes la certeza absoluta de que debe funcionar … y te equivocas. La habilidad de cambiar sus opiniones, expectativas y suposiciones frente a códigos rotos es la habilidad más importante. También es muy útil la curiosidad sobre las computadoras y cómo funciona el software. Cuanto más te guste jugar, más fácil será esa carrera.

¡Buena suerte!