Un poco sobre mi (Es rápido lo prometo)
Les quiero dar contexto sobre porque estoy escribiendo este post, así que quería explicarles un poco sobre mi y como aprendí a programar. Yo si tengo estudios universitarios, pero son enfocados en sistemas de información esto siendo servidores, maquinas virtuales, redes, sistemas operativos etc. Tengo dos certificaciones el Comptia A+ y el Comptia Network+.
Con esto les quiero decir que todo los consejos que les daré fueron los que utilice para poder aprender a programar sin estudios universitarios enfocados en programación, eso sí considero que mis estudios ayudaron hacer el proceso un poco más fácil ya que sabia utilizar un terminal, sabía que son protocolos y algunas otros conceptos importantes que verán a la hora de programar. Sin embargo estos conceptos los voy a mencionar en el post y les daré enlaces de recursos recomendados para que los puedan ir a prendiendo si no los conocen ya.
Otra cosa a mí me gusta aprender con contenido en ingles así que las recomendaciones serán con contenido creado en ese idioma.
Primera recomendación: Has los tutoriales aunque no entiendas nada.
Empiézalos aunque no los termines. Al principio todo lo que hagas será abarcador y complicado te vas a frustrar y se te van a quitar las ganas de seguir estudiando y practicando. Tu cerebro te va a pedir social media te va a decir que utilizar twitter un ratito no hace daño y terminaras haciendo otra cosa. Tienes que pelear con este instinto ya que es literalmente tu cerebro tratando de protegerte de dolor, cuando empiezas a darte cuenta de que algo es complicado tu cerebro trata de protegerte distrayéndote.
Si has leído el libro de Cal Newport “Deep work” sabrás que esto es debido a que tenemos tanto entretenimiento a la mano, tan fácilmente accesible, la vida se hace más cómoda y pasar trabajo es algo que preferimos no hacer aunque sabemos que el resultado nos favorece.Te recomiendo que termines los tutoriales aunque no los entiendas al momento ya que vas a comenzar a internalizar conceptos los cuales harán sentido en el futuro cuando tengas mas practica.
Por ejemplo cuando estaba leyendo sobre promesas en Javascript comencé a leer la documentación de MDN y leí el primer párrafo que dice “Una función con los argumentos resolver y rechazar. La función ejecutor es ejecutada inmediatamente por la implementación de la Promesa…blah blah blah” no entendía para nada que significaba esto. Así que decidí ver videos de youtube sobre el tema. Tampoco entendía los videos así que hice un ejemplo utilizando un REST Api y comencé a entender para que se utilicen las promesas. Hay muchos temas de programación que son complejos y algunas personas explican mejor que otras así que cuando llegues a un hoyó y te sientas frustrado sigue buscando información, eventualmente entenderás lo que estás haciendo pero no te des por vencido.
Segunda recomendación: Busca diferentes tipos de fuentes de información no solo tú preferida.
Si te gusta leer, no solo leas… ve videos, ve cursos y escucha podcasts. Esto te va a ayudar a retener información ya que nuestros cerebros funcionan por asociación e interconectando información. Por esto es que escribir blog posts es buena idea, te obliga a escribir sobre algo que ya conoces y te fuerza a recalcar información y profundizar así que trata de utilizar lo que estas aprendiendo ya sea ensenándole a los demás, escuchando, leyendo o practicando cosas relacionadas a ello.
Aquí hay un articulo que habla sobre la retención de información, es muy interesante (es en ingles)
A mí personalmente me gustan los videos que tiene LinkedIn learning y me gusta mezclarlos con podcasts, videos de youtube y libros.
Algunos de mis podcasts favoritos son: 1) Syntax fm Hablan mucho sobre temas de programación web. 2) Dotnet rocks ¡Tocan temas sobre programación utilizando tecnología de Microsoft! 3) Software engineering daily Hablan sobre todo tipo de temas relacionados a ingeniería de software
Algunos libros que he leído son:
1) The Phoenix Project 2) Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People 3) The Price of Tomorrow: Why Deflation is the Key to an Abundant Future
Cursos de linked in: 1) Become an ASP.NET Core Developer 2) Learning C# Algorithms 3) Introducing .NET Core, puedes encontrar este curso gratis aquí here
Canales de youtube: 1) Dev ed 2) Programming with Mosh 3) IAmTimCorey 4) The Coding Train
Únete a comunidades
Como dije anteriormente, el cerebro trata de interconectar la información que le alimentas así que trata de unirte a foros, comunidades o grupos de programadores aunque sean paginas de memes. Ver posts sobre temas que estas aprendiendo ayuda mucho a tu desarrollo como programador/a.
En mi caso fui a meetups (antes del covid) y busque meetups (Actividades) sobre temas de mi interés como tecnologías de Microsoft e ingeniería de software y comencé a asistir a las actividades en donde habían muchas personas con mas conocimiento que el que tengo yo. También fui a facebook y me uní al grupo de programadores de Puerto rico, probablemente tu región tenga un grupo de programadores o varios.
¡Llegaste al final!
! Espero que este post te ayude a continuar con tu camino a convertirte en un programador/a, ingeniero /a de software o lo que quieras llamarte !