Cómo aprender a aprender

Notas y observaciones sobre cómo aprender cosas más rápido y de una manera más efectiva.

Como desarrolladores e ingenieros de software, estamos condenados a un destino común: debemos aprender durante el resto de nuestras vidas.

Hace 10-15 años tenías que conocer Java, JSP, Servlets y Tomcat para estar en la cima de la industria. Quizás entonces aprendiste Objective-C y todo sobre Cocoa Touch porque las aplicaciones móviles eran la nueva tendencia y, seamos honestos, ¡realmente emocionante! Ahora se trata de React y JavaScript moderno; el JavaScript de hace 3 años ya no es JavaScript, es JavaScript de estilo antiguo. ¿Como desarrollador de sistemas C ++, entonces Go, luego Rust? ¿Qué pasa con Haskell y Elixir?

Cada cierto tiempo, se produce un cambio importante en las tendencias y los mercados laborales.

Me gusta aprender. Hay algo en saber cosas nuevas que podemos aplicar en la profesión y, como programador, todo lo que aprendes es una herramienta en tu arsenal y una gran ayuda en tu carrera.

En esta publicación quiero discutir las cosas que hago para aprender más rápido y de manera más efectiva.

Vencer la procrastinación

La dilación es tu enemigo. Puede tomar muchas formas, como ver Netflix o simplemente navegar en Reddit. También puede tomar la forma de hacer un trabajo superficial, pequeñas tareas sin importancia que realmente no vale la pena hacer. Excepto que te hacen sentir productivo mientras te ocultan del verdadero negocio: aprender algo nuevo.

¿Cómo se supera la procrastinación? Te entrenas para hacer eso. De una manera es tan solo empezar. Por ejemplo, una forma en que los escritores se obligan a escribir es concentrarse en escribir 200 palabras al día. Una vez que empiece a escribir y llegue al final de esas 200 palabras, probablemente esté de humor para continuar. Te concentras en el proceso, en el sistema, no en el resultado. También puede escribir 200 palabras tontas hasta llegar a la "zona" y escribir 5000 palabras del nivel de revista Inc.

Maneja las distracciones

Necesitamos obtener toda la ayuda que podamos para vencer la procrastinación. Una cosa que hago es usar una aplicación macOS llamada SelfControl y una extensión de Chrome llamada Block Site. Bloqueo todas las redes sociales que no están relacionadas con el trabajo, además de todos los sitios de noticias que visito. Necesito usar el iPad o el teléfono para verlos.

Maneja tu tiempo

Otra forma es dividir el tiempo. La técnica pomodoro es muy útil en esto: es solo una forma de trabajar 25 minutos y tomar un descanso de 5 minutos. Ajuste el tiempo como prefiera, pero la conclusión principal es que se establece un espacio para trabajar y un espacio para descansar. Sin embargo, no puedo soportar la naturaleza fija de esta técnica. Rechazo cualquier estructura rígida alrededor de mi trabajo, pero hago algo similar. Solo escribo cuando estoy inspirado y si no estoy inspirado, simplemente no me siento en el escritorio.

Divide y conquistaras

Me gano la vida aprendiendo y luego enseñando cosas. Por ejemplo, el mes que viene me sumergiré en GraphQL y haré un curso al respecto. Es un gran beneficio para mí hacer esto, ya que aprendo cosas nuevas todo el tiempo. Y ciertamente no hay escasez de cosas que aprender. También hay un gran beneficio para la persona que toma uno de mis cursos: comienzo donde ellos comienzan, para no caer en la trampa en la que caen los expertos, asumiendo cosas y simplemente creando algún recurso para la audiencia equivocada. Me gusta eso.

Sin embargo, esto viene con un desafío: ¿cómo puedo aprender lo suficientemente rápido? Trabajo en trozos. Tomo un tema, tomo un par de cursos, leo todos los libros que puedo sobre él y trato de llegar a un índice de todo el argumento. Eso se convertirá en el índice de un libro electrónico. Luego empiezo a escribir sobre cada uno de esos fragmentos, de forma independiente. Tengo una lista impresa y todos los días elijo 1, 2 o más temas sobre los que tengo ganas de aprender y escribir. Seguir el estado de ánimo facilita las cosas. Además, si un día no quiero hacerlo, simplemente me salto el día y regreso mañana fresco y listo para rodar.

Dividir un gran tema en partes es mucho más humano y manejable. Si abordo 1 trozo al día, al final del mes hay bastantes trozos en mi haber. Cada uno de ellos es parte del panorama general, y todo lo que tengo que hacer es visualizar este panorama general. Cada fragmento es una publicación de blog, y obtengo el panorama general al crear un libro electrónico.

Realmente animo a todos a que adopten mi enfoque y traten de explicar de inmediato lo que aprenden. No tenga miedo si es un recién llegado al tema, siempre hay espacio para su perspectiva sobre el tema.

Aprendiendo de los libros

Otro tema que vale la pena discutir es la lectura de libros. Tengo montones, montones, montones de libros quequererleer. Mi aplicación de libros está llena de grandes libros que nunca leí. Leí muchos libros y muchos buenos. Muchas veces me ilumina un libro, pero después de un mes más o menos, olvido lo que leí allí. ¿Cómo puedes recordar las cosas que aprendes leyendo un libro?

Esta es mi técnica. Ya sea que use el Kindle o el iPad para leer, o tenga un libro real en mis manos, destaco todos los conceptos principales y las cosas que quiero recordar.

Sin embargo, las cosas subyacentes que quiero recordar no son suficientes.

Después de terminar el libro lo releeré leyendo solo las cosas que resalté, y mientras lo hago hago un resumen del libro. En privado, pero también comencé a publicarlos, como lo hice para elTrabajo profundolibro.

No solo he afirmado esos conceptos en mi mente, los escribí (una gran, gran ayuda) y ahora tengo una referencia, puedo volver atrás y ver lo que aprendí del libro.

O tal vez solo quiero escribir lo que aprendí de un capítulo o solo un párrafo, y expandirlo con mi opinión. Eso también es genial.

Aplicar lo que aprendo

Cuando se trata de aprender un lenguaje de programación o un framework, lo mejor que puedes hacer es crear proyectos usándolo. Los proyectos paralelos son especialmente buenos para esto porque no necesita comprender completamente el patrón de diseño listo para la empresa y puede aprender sobre la marcha. No hay necesidad de una arquitectura 100% escalable solo para aprender algo. Eso es paralizante. Los proyectos divertidos también son geniales. Me gusta trabajar en plataformas que hacen que la parte divertida sea de primera clase, comoFalla.

También puede simplemente crear juegos o, como hacen muchas personas, lanzar mini productos en Product Hunt. Esa es una excelente manera de darle la adrenalina y el empuje necesario para hacer un esfuerzo adicional y refinar algo para que esté listo para que la gente lo vea y use, en lugar de quedarse en su disco duro completamente sin usar y olvidado en 3 días.

Descanso

Descansar la mente es muy importante. Definitivamente es mashumanodedicar 2 semanas 1 hora al día en algo de 12 horas en un solo día. Cada noche tu mente tiene la oportunidad de pensar en lo que aprendiste. Encuentro que eso es mucho mejor. Tal vez pueda alternar 1 hora de lectura con 1 hora de escucha de podcasts o proyectos prácticos.

Además, cuando esté atascado en algo, no le dedique 3 horas. Dar un paseo. Tomar una siesta. Sal y corre. Haz otra cosa y luego vuelve. No puedo contar las veces que me desperté con la solución lista, el día siguiente.

O la famosa solución te espera en la ducha, o mientras estás en medio del bosque paseando a tu perro. Es asombroso cuántas veces las ideas no aparecen cuando estás trabajando.


Más tutoriales de laboratorio: