Aprender Rápido un Nuevo Lenguaje de Programación
Bienvenido lector o lectora, en este post trataré de contarte desde mi experiencia, cómo aprender rápido un nuevo lenguaje de programación , especialmente cuándo ya tenemos algo de experiencia, y queremos cambiar de área o utilizar una nueva tecnología. Espero que puedan poner en práctica las recomendaciones más abajo, así que ¡empecemos!
¿Qué te motiva a aprender un nuevo lenguaje de programación?
Puede ser que en tu trabajo tengas un nuevo proyecto que requiera un lenguaje de programación que no conoces (o con el que no has trabajado mucho) y necesites aprenderlo. O puede ser que quieras entrar en una nueva rama de la tecnología por una mejora salarial, o por hobby. En cualquier caso debes saber que eso que en un principio te motivó, debe convertirse en un propósito claro, con metas y objetivos, y preferiblemente una aplicación inmediata. ¿Por qué? porque la motivación, aunque es una chispa que enciende los motores del aprendizaje, no dura mucho tiempo. Allí es cuando el propósito claro y la disciplina vienen a salvarnos y ayudarnos a continuar con nuestro camino de aprendizaje.
Crea un plan realista
Una vez que tienes el propósito y los objetivos claros, es hora de crear un plan. A ver, tenemos que ser realistas. Puedes decir, “voy a aprender python en dos semanas”, y eso quizás no suena descabellado, si tienes experiencia en otro lenguaje y dos semanas de tiempo libre para dedicarle en un 100% al aprendizaje, peeeero, la mayoría de las veces no es así. Tenemos un trabajo full time, responsabilidades, familia, actividades etc.
La idea es que puedas ajustar el aprendizaje nuevo de forma realista a tu estilo de vida y rutina. ¿Vas a agendar una hora diaria por cinco días a la semana? ¿Una hora diaria cada dos días? ¿Será a las 8:00 pm, a las 5:00 am? ¿Lo harás justo después de terminar de trabajar? ¿Después de cenar?..
Tu dirás, ¿necesito ser tan específico? y la respuesta es ¡si! Según el libro hábitos atómicos (que me gusta bastante como ya sabrás), entre más específico seas incrementas las probabilidades de que generes un nuevo hábito. En este caso, el hábito de estudiar programación. ????
Entonces; busca una motivación clara y a partir de allí crea un plan de trabajo realista. Y si no sabes como empezar un nuevo proyecto, pronto te haré una guía de manejo de proyectos.
Ahora si, ¿cuáles pueden ser nuestras fuentes de información?
Cursos: Tu primer aliado para aprender rápido un nuevo lenguaje de programación.
En lo personal, me parece que los cursos son un buen primer paso para iniciar con un lenguaje nuevo. Siempre reviso el contenido de las primeras semanas para ver si este curso me va a dar el conocimiento que necesito para abordar el reto o proyecto que tengo. También reviso mucho los reviews y comentarios de otras personas, ya que estos ayudan un montón a determinar si el mismo está actualizado, si el instructor es claro etc.
Pero como bien he puesto en esta sección, los cursos son solo eso, un primer aliado, y aunque ayudan un montón a ponernos ese primer conocimiento “en bandeja de plata”, y a reducir un poco esa primera etapa de la curva de aprendizaje, la realidad es que los cursos en sí mismos siempre quedan un poco cortos respecto al océano de conocimientos que hay que aprender.
Así que eso, toma los cursos como una introducción para lo que necesitas pero recuerda que siempre debes ir más allá..
En resumen:
- Elige cursos de plataformas reconocidas. Mis favoritas son Udemy, Coursera, Edx. Tienen una gran fuente de cursos de muchas universidades e instructores. Los han hecho miles de personas así que vas a encontrar muchos reviews y comentarios que necesitas para hacer la elección
- En el preview del curso o el contenido revisa que este cubra la información que necesitas. Si solo necesitas una parte del curso, está bien, pero es mejor que sobren tópicos a que falten tópicos importantes
- Revisa los reviews y comentarios de otras personas que han hecho el mismo curso, así puedes hallar retroalimentación de personas con conocimiento del tema.
- Por ultimo recuerda que aunque hagas el curso es posible que este no tenga toodo lo que necesitas y toca seguir estudiando.
Documentación
La mejor amiga de un desarrollador o desarrolladora es la documentación.. pero más importante aún es saber dónde buscarla. Y esto es especialmente importante si quieres aprender rápido un nuevo lenguaje de programación.
¿Te ha pasado que ya tienes alguna página favorita donde ir a hacer las consultas cuando te quedas trabado?
A mi WW3 schools me salva la vida cada vez que necesito acordarme de alguna consulta en SQL (al parecer nunca me acuerdo de la sintaxis). Pero ese es solo un ejemplo. Hay muchas páginas que se especializan en explicar sintaxis y otros temas relacionados a algún lenguaje de programación o tecnología. Estas páginas van a ser tus mejores amigas para hacer las consultas cuando empieces a hacer proyectos y practicar.
También puedes optar por el muy popular chat GPT para cuando tu código no haga lo que esperas y quizás la solución no sea tan trivial.
El punto es que aunque los cursos son el punto de inicio, el saber cómo y dónde buscar la información se va a convertir en algo tan importante como adquirir ese primer conocimiento.
Es posible que durante el curso, los instructores te guíen a las páginas de documentación del lenguaje o tecnología. Guárdalas en tus favoritos para que puedas hacer las consultas luego.
Proyectos
Ahora, si ya estás haciendo el curso, y ya sabes dónde hacer las búsquedas, viene la fase más importante. Proyectos, proyectos, proyectos, o lo que es lo mismo. Práctica, práctica, práctica. Es difícil aprender rápido un nuevo lenguaje de programación si no practicas.
La forma más efectiva de fijar esos conocimientos es a través de la práctica. Las cosas que más rápido olvido son las que no practico, y aquellas que más tiempo perduran en mi mente son las que enseño.
El gran físico Richard Feynman proponía que una de las formas más efectivas de aprender un tema, es tratando de explicarlo como si estuvieras en un salón con niños de 5 años. Aunque en el mundo de los lenguajes de programación quizás esto sea complicado, podemos aplicar técnicas del libro aprende como Einstein, y una de las más efectivas para llegar a ser un “experto” en un tema era la práctica. (Tomen nota de los libros que estoy mencionando, valen la pena la lectura).
Así que busca online proyectos relacionados con el lenguaje o tecnología que estas aprendiendo. Encontrarás que seguro hay muchos retos o temas propuestos. Github se ha convertido en el master, pero me ha gustado el playground de codepen.io ya que las personas comparten libremente sus códigos front-end.
Pero mejor aún, si tu propósito inicial era abordar un proyecto personal o laboral, tendrás la oportunidad de ir aplicando tus conocimientos inmediatamente, y eso hará que aprendas más rápido. Por eso mencionaba al principio la importancia de un objetivo y propósito en tu aprendizaje.
En resumen, haz una búsqueda online del lenguaje o tecnología que estás aprendiendo y encontrarás páginas como estas para practicar.
https://codepen.io/search/pens?q= https://hackr.io/blog/best-web-development-projects
Ejemplos
En mi vida me ha tocado aprender muchos lenguajes y tecnologías algunos por diversión, otros por necesidad y presión, pero estos son algunos de los cursos que he hecho, y páginas que me han ayudado en el proceso.
Conocimiento | Curso Realizado | Páginas de Consulta | Proyectos | Propósito |
---|---|---|---|---|
LabVIEW | -LabVIEW Core I, II, III | |||
-LabVIEW OOP | ||||
-Advanced Architectures | ||||
(todos estos de la página oficial de NI) | -NI Forums | |||
-Documentación oficial de NI | ||||
-Stack Overflow | Todos los que hago diariamente en mi trabajo que no puedo compartir por los NDAs | Laboral | ||
Git | -Para empezar hice https://www.udemy.com/course/git-expert-4-hours/learn/lecture/11682778?start=0#overview | |||
-También leí el libro https://git-scm.com/book/en/v2 | –https://git-scm.com/docs | |||
-StackOverflow | ||||
-ChatGPT | Todos los proyectos de software los estoy llevando con Git, en GitHub y Bitbucket | Laboral/Personal | ||
Flutter | –https://www.udemy.com/course/flutter-bootcamp-with-dart/learn/lecture/14511214?start=0#overview | –https://docs.flutter.dev/ | Unas aplicaciones para el empresa | Laboral/Personal (a nivel personal he seguido mejorando porque me gusta) |
Project Management | -Ultimamente me estoy haciendo fan de Coursera. Así que amé https://www.coursera.org/professional-certificates/google-project-management | -La docu está bastante completa en el https://www.pmi.org/ | Es parte de crecer Timmy | Laboral/personal |
Conclusión
Así que desde mi punto de vista, el flujo de trabajo vendría a ser algo como esto.
- Revisa tu motivación y propósito
- Crea un plan de trabajo con una rutina realista para estudiar
- Elige un curso que cubra los tópicos que quieras aprender
- Encuentra las páginas que tienen la mejor documentación de tu lenguaje, tecnología o tema
- A medida que aprendes pon en práctica tus conocimientos. Ya sea en proyectos laborales o personales
- Bonus.. y si puedes, comparte esos nuevos conocimientos. Eso te va a ayudar a fijarlos en tu mente!
Extra tip: Una de las razones por las que se me está haciendo fácil y rápido aprender gestión de proyectos es porque tengo un lugar para aplicarlo inmediatamente. O sea, aprendo y aplico. Si logras conseguir esto, tienes la mitad de la batalla ganada.
Finalmente, ¡no te rindas!
¡Y eso es todo! gracias por leerme. Nos vemos pronto con otro escrito y/o video.
Nota: Este post fue redactado en notion. Si te interesa explorar esta herramienta aquí te dejo mi link de afiliados, es totalmente gratis pero si quieres la versión pro, puedes obtenerla con descuento aquí. ???? https://affiliate.notion.so/8rysxwbjp7l8