Tengo 38 años, ni siquiera conozco los conceptos básicos de las matemáticas, pero estoy totalmente interesado en ello. ¿Puedo seguir siendo un buen programador si estudio mucho?

Sí tu puedes. Pero tomará algún tiempo, sin embargo.

Te llevará aproximadamente un año ser lo suficientemente bueno en programación para comprender la mayoría de los conceptos básicos y conseguir un trabajo como desarrollador junior. Podría llevar otros 4 años convertirse en un desarrollador de calidad media. Y cerca de 10 años para convertirse en uno de los mejores desarrolladores, si ha seguido estudiando y enfocado en técnicas de programación en lugar de lenguajes de programación.

La mayoría de los programadores cometen el error de que solo aprenden un idioma y, por lo tanto, piensan que son buenos. Bueno, pueden ser buenos en ese lenguaje, pero no los convierte en buenos programadores.

Otro error común es pensar que puede pasar un mes aprendiendo algo de sintaxis y luego crear algo más complejo que “¡Hola, mundo!”. Aún no eres un buen programador después de tan poco tiempo. Necesita algunos proyectos en los que trabajar y, de hecho, terminar algunos proyectos simples con cierto grado de éxito.

Como supongo que también tiene un trabajo regular, sería difícil encontrar tiempo para aprender a programar, por eso vine con las largas estimaciones. Si puede contratar a un buen maestro y dedicar las 24 horas del día, los 7 días de la semana a aprender (bueno, agregue tiempo para dormir y comer), podría volverse bastante bueno en un corto período de tiempo, posiblemente dentro de un año.

También tenga en cuenta que a menudo escuchará historias sobre jóvenes adolescentes que han desarrollado algo y que tuvieron mucho éxito con eso básicamente a los pocos años de comenzar con la programación. Pero esos no son generalmente exitosos porque son buenos programadores. ¡Están teniendo éxito porque son buenos en marketing! ¡Parte de todo el desarrollo de software es poder vender su producto! De lo contrario, incluso los mejores programadores fallarán. Incluso Steve Jobs y Bill Gates no son tan buenos en la programación. Son excelentes en marketing. (Y sí, también son buenos programadores, pero no milagrosamente buenos).

La mayoría de los programadores trabajarán en equipos ya que eso acelera considerablemente las cosas. Por lo tanto, sería mejor si encontraras a alguien que también esté interesado en la programación y formes un equipo. Eso también aceleraría el proceso de aprendizaje. Tener un trabajo como programador también es realmente útil, pero conseguir uno a tu edad será un desafío.

Sin embargo, su mayor desafío será la pérdida de motivación. Para evitar esto, debe establecer un objetivo muy alto, un proyecto que desee realizar por sí mismo. Luego tendrá que aprender todas las habilidades necesarias para hacer este proyecto personal. Y decida hacer algo que llevará años terminar. Puede que nunca lo termines, pero al igual que la Ballena Blanca en Moby Dick, se supone que te mantiene enfocado en un solo objetivo. (¡Simplemente no hundas tu bote!) No sirve de nada comenzar a programar cuando te falta motivación dentro de 5 meses, así que asegúrate de mantenerte motivado.

En cuanto a la necesidad de las matemáticas … Las matemáticas son solo un requisito porque te obliga a pensar lógicamente. Si eres bueno en ajedrez, entonces también podrías ser bueno en programación. Si eres como Sherlock Holmes investigando todo tipo de situaciones, entonces también serías bueno programando.

Además, la programación es básicamente una cuestión de declaraciones, condiciones y bucles / saltos. No es más complicado que eso. Pero lo que hace que las cosas sean más complejas es que necesita todas esas declaraciones / condiciones / bucles dentro de estructuras específicas y necesita dar forma a cómo se verán todos los datos que procesará su código. Porque la programación es básicamente una forma de procesamiento de datos. Toda la organización del código es en realidad el mayor desafío para los programadores. No es el código en sí mismo, sino la configuración de la mejor estructura para que su código haga lo que debe hacerse. Preferiblemente de una manera rápida y precisa que sea fácil de mantener y no requiera demasiado trabajo para construir. La programación es saber cómo organizar las cosas …

Si sabes lo que es básicamente álgebra de secundaria y estadísticas simples, no tendrás problemas con la mayoría de los tipos de programación.

Ciertamente, no necesita matemática avanzada a menos que esté programando en un dominio que ya tenga mucha matemática, como gráficos por computadora, análisis, programación científica, etc. (Y aunque la teoría de conjuntos es útil para trabajar con bases de datos, el 99% de las personas que usan SQL profesionalmente nunca ha oído hablar de grupos abelianos o la mayoría de los otros conceptos de teoría de conjuntos …)

En cuanto a si debe “estudiar mucho”, debe pensar en la programación como un oficio, no como un ejercicio intelectual. Lo aprendes haciendo y atacando problemas cada vez más interesantes usando código. No lo aprenderás bien simplemente “estudiando”. Tendrá libros de texto (o sitios web de aprendizaje) a su lado mientras aprende a codificar, pero aprenderá a codificar codificando, no solo leyendo.

¡Ve por tu pasión! Sí tu puedes. Las matemáticas rara vez son importantes en la programación, pero paradigmas como la programación funcional están conectados a la teoría de categorías, las bases de datos relacionales para establecer la teoría y el álgebra relacional, y puede aplicar la inducción a lenguajes declarativos puros para demostrar que funcionan, pero en su mayor parte, usted desafortunadamente, también podemos prescindir de muchas matemáticas en el ámbito comercial de las aplicaciones comerciales de Java para personas inclinadas a las matemáticas como yo. Donde encuentro matemática útil es la analítica donde verifica que sus métricas son monoides, verifica cómo se asocian, izquierda o derecha, si conmutan, se pliegan, se despliegan, también relacionadas con la programación declarativa perezosa funcional pura como Haskell. En pocas palabras, si estudia mucho y practica, toma cursos en línea, hace tareas, contribuye al código abierto, tiene todas las posibilidades. También tengo 39 años, programo desde los 14 años, pero de manera intensiva / profesional desde los 25, y todavía estoy en la primera mitad de mi carrera. También consideraría cambiarme a otra carrera que me ofreciera más satisfacción interna. Utilice el soporte de la comunidad aquí, en el desbordamiento de pila y en los grupos de usuarios y listas de correo de cualquier software de código abierto. ¡Buena suerte!

Tal vez.

Creo que depende de tu nivel de motivación, curiosidad intrínseca y de lo que esperas lograr.

Comencé a programar cuando tenía 6 años, antes de que apenas supiera matemática. Diablos, incluso antes de que supiera cómo multiplicar. De hecho, creo que la programación agudizó mi mente de maneras que me ayudaron a mejorar en matemáticas de lo que hubiera hecho de otra manera, cuando fuera mayor.

A los 38, me imagino que es un poco diferente … pero creo que los ingredientes clave para tener éxito como programador siguen siendo los mismos: debes encontrarlo divertido y debes tener una curiosidad innata al respecto .

El aspecto divertido es importante, porque muchas veces también será frustrante. Pero si hay algo divertido en lo que estás haciendo, seguirás haciéndolo incluso cuando te sientas frustrado. No debería sentirse como golpearse la cabeza contra la pared todo el tiempo.

La curiosidad innata es importante, porque la mayoría de las veces, lo que tendrá que acostumbrarse a hacer es resolver las cosas por su cuenta. No espere aprender programación de los manuales de procedimientos. Eso puede ayudarlo a comenzar, pero el punto en el que realmente siente que tiene confianza como programador es que puede descubrir algo para lo que no fue entrenado.

Resolver cosas por su cuenta con referencias mínimas (o a veces sin referencias) es algo que hará mucho como programador exitoso. Entonces, si eres paciente y lo suficientemente valiente, te recomiendo aprender de esta manera. Solo comienza a experimentar. Intenta algo. Mira si hace lo que esperas. Si no, intente otra cosa.

Incluso las personas que tienen todo el conocimiento matemático para comprender completamente lo que están haciendo no siempre son los mejores piratas informáticos, porque no tienen esa mentalidad. La programación es para personas a las que les gusta jugar. No es absolutamente necesario entender completamente por qué algo funciona para comenzar a programar, pero es necesario tener el deseo de jugar hasta que puedas hacerlo funcionar.

Aprender las matemáticas sin duda lo ayudará más adelante y lo convertirá en un programador versátil, pero no es lo más importante al comenzar.

La programación y las matemáticas están relacionadas, pero en realidad no son lo mismo. Puedes hacer mucha programación que no implica muchas matemáticas. Algunos tipos de programación, como la animación de juegos de computadora, requieren muchas matemáticas, pero eso es muy especializado. La mayoría de la programación de negocios, por ejemplo, es solo barajar datos.

Sí, simplemente encuentra un mentor en matemáticas o toma cursos básicos en la universidad o la escuela. Un tutor de una escuela secundaria lo asesorará por hora por dinero, al igual que un mentor.

Todavía hay esperanza para ti. ¿Te gusta programar? Estoy seguro de que serás un excelente programador. Sigue programando y estudiando matemáticas. Buena suerte .

Estuve en un curso de ‘prepárate para la universidad’ para estudiantes maduros en 2015-16 y observé este efecto más claramente de lo que hubiera creído si alguien más me hubiera dicho:

Las personas que obtuvieron las mejores calificaciones no fueron las más inteligentes, sino las personas que dedicaron las horas.

Sí, apestaba en matemáticas en la escuela, obtuve una E en matemáticas y tuve que volver a tomarla en la universidad para obtener una C, y puedo programar bastante bien en Python y Perl, y Bash.

Realmente no necesitas ser bueno en matemáticas, pero debes tener un cerebro muy lógico y analítico para entender los conceptos de programación, supongo que lo de matemáticas / ciencias es una extensión de eso, y por supuesto, el entusiasmo tomará usted también es un buen camino 🙂