¡Bueno, hola! Para averiguar cómo la mayoría de los programadores aprenden a codificar, deberá realizar una encuesta. Pero espero poder ayudar hablando por mí mismo.
Mi padre es un ingeniero de software. Nunca me sugirió que caminara por el mismo camino, pero me interesaba la ingeniería de software. Comencé cuando tenía 12 años, y eso fue hace solo seis años, por lo que la memoria aún está muy fresca. Además, nuestro mundo de programación no sería muy diferente, ¿verdad?
Por favor, permítame recitar mi experiencia.
Introducción a la programación
- Cómo aprender la codificación de afl
- Quiero aprender Node.js. ¿Donde debería empezar?
- Cómo enseñarme efectivamente a aprender los fundamentos de un tema en particular; filtrando el contenido avanzado para que luego pueda avanzar hacia temas más avanzados
- Quiero aprender a invertir en acciones, acciones, acciones, etc., pero no sé nada sobre finanzas y temas relacionados. ¿Cómo comienzo el proceso?
- ¿Cuál es el mejor idioma / dialecto para aprender a vivir en África? (Ya sé inglés, francés y árabe)
Mi primer lenguaje de programación real fue Small Basic de Microsoft, presentado por mi padre. Fue genial porque puedes mover una tortuga, hacer patrones y dibujos, y cosas simples. También traté de hacer que la computadora conversara conmigo (solo expresiones condicionales simples) y eso es lo que realmente me inició a programar.
Después de eso, fui más allá aprendiendo a codificar con la ayuda de la robótica. Personalmente, realmente ayudó porque uno puede realmente visualizar lo que está sucediendo en el programa, y cómo afecta los resultados. Comencé con los kits robóticos de Fischertechnik, que están programados visualmente, y finalmente con microcontroladores, que deben programarse en C. Así que aprendí una buena primicia de C.
Cavar más profundo
Llegué a ser bastante bueno en robótica en la escuela secundaria, lo suficientemente bueno para meterme en competiciones nacionales, pero no lo suficiente como para ganarlas. Después de sentirme frustrado por perder todo el tiempo debido a errores mecánicos y eléctricos, decidí que solo me concentraría en la programación, mi parte favorita de todos los tiempos.
Cuando tenía alrededor de 14 años, aprendí el Actionscript de Adobe Flash (¡pruébalo!) E hice juegos con él. Me gustó porque puedes visualizar lo que hace la computadora, al igual que en robótica, excepto que no tienes que preocuparte de que la rueda de tu robot se salga cuando te prueban.
Al mismo tiempo, mi amigo (que era un año menor que yo, 13) me arrastró a su aplicación web: creó una red social utilizando JCow, una plantilla de redes sociales. Sorprendentemente, su sitio web se convirtió en todo un éxito, y fue invitado a muchos programas de televisión. En ese momento, no entendía muy bien lo que estaba haciendo, ¡pero me pareció increíble! Curioso, descargué JCow y traté de hacer uno yo mismo. Nunca lo publiqué, pero me dio una buena idea de cómo funcionan las aplicaciones web, y algo de conocimiento en HTML, CSS y JS.
A ponernos serios
Le pedí a mi padre que me enseñara algunas cosas, y él me enseñó a Python. En ese momento, no era nada interesante. No sabía qué podía hacer con eso. Me imaginé que con C, puedes hacer robots. Con Actionscript, puedes hacer juegos. Pero, ¿qué puedes hacer usando Python (o Ruby)? Mi padre demostró que puedes graficar ecuaciones complejas usando números, pero realmente no me impresionó.
Entonces, un día, encontré Stack Overflow . Estoy seguro de que ya estás familiarizado con el sitio en este momento, así que no me molestaré en explicarlo. Comencé haciendo una pregunta sobre HTML5, era una pregunta de nicho, pero impresionantemente, alguien analizó el problema muy a fondo y me mostró ejemplos sobre cómo debería hacerse. Y yo estaba … ¡Inspirado! De hecho, me resulta divertido ayudar a otras personas con su código. Y aprendí, mucho. Como sé un poco sobre Python, y ya entendí algo de algoritmos, intenté responder preguntas allí. Fue realmente divertido. Finalmente, obtuve la insignia de plata de Python y crucé 10k reputación en el sitio. En este momento, ya sé mucho sobre Python. Puedo hacer scripts, o incluso aplicaciones.
Un poco demasiado serio
Una vez, mi padre estaba guiando a un estudiante graduado para hacer su tesis, algo sobre el análisis de la información proporcionada por los agentes de viajes en línea. Cuando él estaba fuera de la ciudad, yo sería responsable de ayudar al estudiante graduado. No tenía mucha idea sobre la programación práctica, solo era bueno con las teorías. Yo, aprendí por la práctica, y nos complementamos bien. Aprendí algunas cosas y, lo que es más importante, se graduó a tiempo.
Como soy bastante bueno con Python, mi padre me empujó a hacer una pasantía. Aprendí sobre los sistemas bancarios centrales. ¡Ahora, después de un año, es trabajo de tiempo completo! Y la paga es bastante decente, también.
Para mejorar mis prácticas de programación, aparte de ser enseñado por personas mayores, leo algunos libros. Es mucho más difícil, así que lo leí muy despacio. Pero creo que estoy progresando, poco a poco 🙂
Esa es toda mi historia. Espero que no haya sido demasiado.
Code Academy es un buen lugar para comenzar. Puede darle una idea de qué es la programación y cómo se siente. Una vez que sientas que te gusta, haz experimentos! Haz experimentos con cosas que te puedan interesar. Para mí, estaba experimentando con robótica y animaciones. Moviendo cosas y juegos. Aprendí mucho. Algunos otros experimentaron con la web, el desarrollo móvil. Pregúntate, ¿qué quieres hacer?
Recomiendo preguntar a las personas con más experiencia que te enseñen cosas que quieres saber. No seas tímido y nunca seas arrogante. La mayoría de las personas estarían encantadas de enseñar lo que saben, porque se sentirán respetadas y reconocidas. Y, sin duda, aprender uno a uno te ahorrará mucho tiempo. Será una relación beneficiosa para ambos. Haz esto con mucha gente.
También sugeriría encontrar un lugar para practicar. Mi lugar era Stack Overflow y mi lugar de trabajo. Desbordamiento de pila es grande. Si no puede encontrar una empresa para una pasantía, intente con organizaciones sin fines de lucro. O incluso proyectos de sus mayores. El punto es que aprenderá mucho cuando sea dirigido por otros programadores más experimentados.
En cuanto al siguiente paso, no sé mucho. Me gusta este campo, y creo que también me voy a graduar. Estoy ansioso por saber cómo es la universidad, y espero tener más conocidos con los que pueda trabajar.
Vamos a averiguarlo juntos, supongo?