La facilidad para aprender cualquier cosa depende de cómo nos conozcamos a nosotros mismos, hay personas que son más auditivas a la hora de aprender y por eso mismo no necesitan anotar, solo escuchar, otros son más visuales y con ver un ejemplo ya asimilan el contenido, otros somos más kinestésicos, que necesitamos de la interacción y del tocar aquello que es materia de aprendizaje. Analízate y prueba distintos métodos de aprendizaje hasta que entiendas que clase de persona eres, prueba con ver cursos en video, artículos escritos, anotando o programando directamente.
En este post pretendo compartir mi método de aprendizaje siendo una persona de aprendizaje kinestésico, toma de este post los puntos que te puedan ser de utilidad y tomate la libertad de cambiar a tu gusto lo que sientas que no te funciona.
Algo que he desarrollado con los años de aprender distintas habilidades es a tener un instinto que me indica si lo que estoy haciendo me lleva al objetivo que quiero alcanzar, esto, aunque parezca obvio no lo es tanto. ¿Has notado que cuando varias personas practican lo mismo en las mismas condiciones, unos pocos progresan más rápido, pero la mayoría por mucho que practique, se estancada o su progreso es muy lento?, eso es síntoma de que la persona estancada aun no entiende realmente lo que está haciendo o que simplemente cree que la repetición lo llevará a la maestría, cuando lo que lo lleva a uno a mejorar es el análisis a consciencia de lo que se está haciendo.
Si es la primera vez que estas aprendiendo a programar muchos te sugerirán que empieces poco a poco con las bases de la programación, mi consejo personal es que busques un tema que te apasione dentro del mundo de la programación, sin importar el lenguaje que elijas y hagas un curso básico relacionado, la razon por la que sugiero esto, es porque las dificultades te obligará a hacerte preguntas que debes investigar por tu cuenta y muy posiblemente sea resuelta luego haciendo un curso básico, pienso que empezar por el proyecto plantea muchos problemas que solo consultando en internet encuentras la solución, lo que te hará comprender mejor la causa del problema y el porqué de la solución, que empezar un curso básico con ejemplos que no te motiven para nada de supuestos clientes inexistentes para rellenar en una base de datos.
Si ya sabes programar en un lenguaje concreto y quieres migrar a otro lenguaje, es bueno que primero investigues si vale la pena aprenderlo, pero si ya estás seguro piensa en un proyecto que tenga varios desafíos que te ayuden a mejorar en varios aspectos, por ejemplo: sabes #Python pero no sabes nada de #bases_de_datos y tampoco sabes nada de #páginas_web y tampoco de #patrones_de_diseño, proponte hacer una página web que rellene un formulario para un catálogo de animes o películas, que guarde la información en una base de datos #SQLite y lo se aloje en la plataforma de #GitHub, esto que en principio es realmente muy difícil y muy seguramente termine todo en fracaso, pero el intentarlo hará que rápidamente mejores en aprender #HTML, #CSS, #JavaScript, #SQL, #GIT y el patron #MVC, seguramente para solucionarlo tendrás que aprender cursos básicos de cada una de las tecnologías propuestas.
Muchos cursos proponen IDE's de la preferencia del autor, generalmente #Visual_Studio_Code, #Sublime_Text, con #GitHub_copilot, estos entornos te facilitan mucho el proceso de programar en ciertos lenguajes concretos, no funciona para todo y te hace ser perezoso. Mi consejo es que vayas por uno más básico que sea multilenguaje, que funcione en la terminal o que sea multiplataforma y que en lo posible tenga solo algunas ayudas básicas, esto te obligará a dejar de ser perezoso, a escribir cada línea y mantener el orden por tu cuenta, tendrás que hacer un esfuerzo extra en todo, pero a largo plazo ganaras velocidad al momento de digitar, estarás más consciente de cada paso que das y a largo plazo tendrás menos necesidad de depurar código.
Conozco mucha gente que cree que, por usar las aplicaciones más modernas, sienten la seguridad de que eso los hará los mejores programadores, cuando la realidad se trata de hacer el mayor impacto con las herramientas más precarias, pues no tendremos seguridad si en el futuro nos toque programar en una terminal.
Trabaja en un sistema distinto a Windows, porque todo tiende a funcionar de maravilla, si cambias de sistema, eso te plantea más retos como: aprender a usar la terminal de comandos, instalar tus aplicaciones favoritas desde ese sistema o usar alternativas y tener que acomodarte al sistema, aunque esto parezca una tortura más añadida a la lista, hará que seas más recursivo, notarás la dependencia de librerías en las aplicaciones, aprenderás a programar usando las librerías existentes y te dará conocimientos en otros sistemas y entornos útiles para trabajos de administración de servidores.
En lo posible no copies código con el comando copiar y pegar de #StackOverflow o cualquier otra fuente, copia el código a mano, esto hará que reflexiones por un momento el código y puede que encuentres una solución que incluso mejore lo que estas copiando.
Trata todo el tiempo de estar motivado sino cambia a otro. Si el curso que actualmente haces te aburre, cambia de curso y de tema, la razon de esto es que el cerebro no aprende obligado y lo que hará es desmotivarte, aunque este sea un pésimo consejo creo que si analizas a consciencia el porqué del aburrimiento, puedes valorar si lo que tienes es cansancio, un enfoque errado en el aprendizaje o una mala elección de la tecnología o si tus habilidades actuales no son suficientes para el proyecto o curso, pero si aun consideras que el reto vale la pena, abandónalo temporalmente y retómalo cuando te sientas capaz.
Toma nota de las cosas que te llamen la atención, soluciones específicas, webs de las cuales adquirir ese conocimiento especifico, pero ante todo reflexiona la forma en que tomas nota y como lo almacenas. Tengo un post muy bueno al respecto, en mi caso he decidido tomar notas dentro de los mismos códigos, esto me evita tener que buscar en otros lugares notas, ganando así algo de tiempo.
Documenta tu código en inglés, incluida las notas que tomes, esto hará que tu mente empiece a estructurarse en inglés y más adelante sea más fácil, leer, escribir y entender el idioma, evita al máximo el uso del traductor o te engañaras. Los últimos posts están en inglés por este motivo.
Si eres nuevo programando has el esfuerzo máximo por terminar un buen curso, si por el contrario ya sabes programar en algún lenguaje y quieres migrar a otro, abandona el curso tan pronto sientas que ya dominas la sintaxis, pues no contamos con el tiempo para comenzar desde ceros de nuevo, lo importante es enfocarse en aprender a manejar el entorno, a usar las librerías más populares. Sube tus proyectos a GitHub, aunque no estén completos, esto te obligará a usar la terminal de vez en cuando, a mantenerte más o menos fresco usando GIT, te obliga a documentar el código, a usar markdown, todo esto en el largo plazo te ayuda a crear portafolio sin darte cuenta.
Conclusion.
Estos son todos trucos que aplico en mi día a día para mejorar como programador, en principio no es para nada un método fácil y tampoco es rápido y es frustrante, pero cuando inicie en la cuarentena de 2020 hasta ahora, he aprendido un montón en muy poco tiempo en consideración a como lo hacía antes. He mejorado en python a nivel intermedio avanzado, he cambiado de sistema operativos, he usado nuevas librerías y hecho pequeños programas, he aprendido a usar GIT, programación orientada a objetos, he usado mucho más la terminal, he mejorado en taquigrafía, mecanografía, redacción e inglés en solo 2 años. respecto a lo que hacía antes que era solo C# y unity en 6 años. Te resumo el método en la siguiente lista.
Identifica tu forma de aprender que se ajusta a tu personalidad.
Si eres novato inicia un proyecto que te desafié en las tecnologías que quieras aprender.
Haz cursos de las tecnologías que quieras aprender.
Usa un IDE modesto multilenguaje y multiplataforma, La herramienta no hace al programador, el programador hace herramientas.
Cambia de sistema operativo y ajústate a él.
Sube tu código a GitHub y mantenlo en el tiempo.
Trata de estar motivado o cambia a otra cosa dentro de tu línea de interés.
Toma notas, gestiona bien las notas y escríbelas en inglés.
Si ya sabes programar empieza un curso hasta el punto de dominar la sintaxis y abandónalo y practica mucho.
Comenta que métodos usas para aprender a programar, me interesa aprender que les ha funcionado a ustedes para mejorar mi método de estudio. No siendo más nos vemos en un proximo Post.
Comments