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:
- La pila que uso para ejecutar este blog
- 8 buenas razones para convertirse en desarrollador de software
- SEO para desarrolladores que escriben blogs
- Reseña del libro La semana laboral de 4 horas
- Construye un negocio de estilo de vida
- Construye tu propia plataforma
- Como creador independiente, ¿qué tipo de producto deberías crear?
- Crea tu propia seguridad laboral
- Desarrolladores, aprendan marketing
- La libertad de un negocio de productos
- Generando valor
- Tenga un propósito para su negocio
- La idea no es nada
- El nicho
- Trabajo remoto para desarrolladores de software
- Ajuste de producto / mercado
- Los mejores podcasts para desarrolladores frontend
- ¿Por qué debería crear una lista de correo electrónico?
- Desconecta el tiempo del dinero
- El principio de escasez aplicado a los productos de software
- El principio de prueba social
- Cómo agregué el modo oscuro a mi sitio web
- Mis notas sobre el libro Trabajo profundo
- Las ventajas de usar una pila aburrida
- Cómo estimar el tiempo de programación
- Continuando como desarrollador independiente
- Cómo aprender a aprender
- ¿Por qué las preguntas de entrevista para trabajos de programación son tan difíciles?
- ¿Necesito un título para ser programador?
- Todos pueden aprender a programar
- Cómo ser productivo
- Cómo obtener el número real de páginas vistas de un sitio estático
- ¿Ha llenado un cubo de desarrollador hoy?
- Cómo grabo mis videos
- Todos los proyectos de software que hice en el pasado
- El purgatorio de tutoriales desde la perspectiva de un creador de tutoriales
- Todo desarrollador debería tener un blog. He aquí por qué y cómo seguir adelante
- Tener una mentalidad empresarial para los desarrolladores
- Cómo escribir código inmantenible
- ¿Qué es el síndrome del impostor?
- Cómo trabajar desde casa sin volverse loco
- Cómo dejé de preocuparme y aprendí a amar el ecosistema de JavaScript
- Cómo prototipo de una página web
- Deberías ser el peor desarrollador de tu equipo
- Cómo iniciar un blog con Hugo
- Escribe lo que no sabes
- Cómo bloquear distracciones usando uBlock Origin
- Codificar es un arte
- Escribí 1 publicación de blog todos los días durante 2 años. Aquí hay 5 cosas que aprendí sobre SEO
- Lidiando con el fuego
- Sobre ser generalista
- El dilema del desarrollador
- My plan for being hired as a Go developer. In 2017
- Aumento de la productividad al usar una Mac y un dispositivo iOS
- Cómo pasar de tutoriales a tu propio proyecto
- Este es mi pequeño jardín digital
- Cómo empezar a trabajar independientemente como desarrollador
- Compartiendo el viaje hacia la creación de un negocio de productos de software
- Subcarpeta vs subdominio
- Cómo utilizo la expansión de texto para ahorrar tiempo
- El software es una superpotencia
- me encantan los libros
- Cómo decidí crear una nueva aplicación de gestión de proyectos