Construyendo su propio plan de estudios de aprendizaje personal
Publicado: 2022-03-10Después de completar un bootcamp en marzo de 2019, me sentí abrumado por la elección de marcos, bibliotecas, idiomas y cursos entre los que tenía que elegir para continuar con el aprendizaje independiente y, con suerte, lograr uno de esos escurridizos trabajos de desarrollador junior. Casi todas las personas con las que hablé tenían una opinión diferente sobre lo que era importante y lo que valía la pena seguir, pero la mayoría estuvo de acuerdo en que aprender "los fundamentos" era importante, aunque nunca especificaron realmente cuáles eran.
Incluso después de obtener mi primer trabajo de desarrollador el verano pasado, rápidamente se hizo evidente que tenía que hacer un aprendizaje extracurricular regular para cumplir con las demandas de este nuevo rol. Revoloteé entre los cursos de Udemy durante un tiempo y, aunque aprendí, a menudo me encontré copiando al instructor sin desarrollar habilidades de resolución de problemas por mi cuenta. Me llevó hacer mi propio pequeño proyecto paralelo de bloc de notas para captar realmente el nuevo material. Así que ahora sabía cuál era mi estilo de aprendizaje: exposición inicial a ideas en un curso o en el trabajo, crear un boceto de un proyecto para solidificar conceptos y luego usar este nuevo aprendizaje en mi trabajo diario si podía.
La mayoría de nosotros tenemos un sentido sólido (aunque ganado con esfuerzo) de cómo aprendemos mejor a corto plazo, pero ¿cómo se traduce eso en la estructura del aprendizaje extracurricular a largo plazo? Te voy a decir cómo resolví este problema por mí mismo. Estas estrategias funcionarán en todo el espectro de experiencia, ya sea que sea nuevo en el desarrollo de software o un ingeniero experimentado.
Su propio plan de estudios personal
Este es mi método para armar un currículo de aprendizaje . Como alguien con tiempo limitado y una tendencia a dejarse llevar por la brisa de la impulsividad a expensas del trabajo concentrado y sostenido, encontré que este método era el más compatible con mi cerebro y ritmos generales. Su kilometraje, por supuesto, puede variar.
Use las especificaciones de roles del 'trabajo ideal' para establecer metas
Encontré este paso realmente útil para ahogar todo el ruido ambiental y concentrarme en cosas que serán prácticamente útiles para mi carrera en los próximos cinco años más o menos. (Como más desarrollador front-end, a menudo me encontraba haciendo ojos de goo-goo al aprender Rust. Si bien es fascinante, no es exactamente una prioridad).
Es posible que no desee trabajar en una gran empresa de tecnología, pero vale la pena ver qué priorizan al contratar, ya que, para bien o para mal, las grandes empresas tienden a marcar la pauta para la industria en general. Tengo una pequeña lista de compras de empresas no malvadas en las que me gustaría terminar algún día y todas comparten, en términos generales, las mismas prioridades: HTML/CSS semántico, excelentes habilidades de JS estándar, accesibilidad y un marco popular. Algún día voy a aprender Rust, pero, por ahora, trabajar en estas habilidades son mis principales prioridades.
Tiendo a preferir Indeed, Guardian Jobs y LinkedIn para obtener una amplia gama de trabajos que están en el mercado, pero igualmente útil es Twitter (simplemente busque [nombre de la empresa que le interesa] y 'empleos'), y vigile periódicamente en la página de 'Carreras' de sus pocas empresas favoritas cada dos meses. Jessica Rose, que tuitea como @jesslynnrose, con frecuencia escribe largos hilos de Twitter sobre vacantes de trabajo en 'compañías no malvadas' que a veces no se publicitan muy bien en otros lugares.
Una vez que haya reunido algunas especificaciones de trabajo, intente detectar los puntos en común entre ellos y tome nota de ellos. Los usaremos para el siguiente paso.
Identifique oportunidades para desarrollar las habilidades que desea
¿Recuerdas la lista que mencioné? Dividirlo en dos columnas. Columna uno: cosas en las que puede trabajar en su trabajo diario. Columna dos: cosas que necesita mirar en su propio tiempo.
Aprendizaje en el trabajo
Las cosas en su lista que están cubiertas por su trabajo diario son las cosas de las que menos debe preocuparse. Pase lo que pase, sus habilidades en estas áreas mejorarán con el tiempo. Algunos de ustedes trabajarán en organizaciones enormes con muchos desarrolladores con varios niveles de antigüedad y especialidades, y les aconsejo que aprovechen todo lo que vale, para decirlo sin rodeos.
Si la accesibilidad es una brecha de conocimiento que le gustaría mejorar, trate de tragarse los nervios y acérquese a alguien en su lugar de trabajo que tenga esas habilidades para conversar o tomar un café Zoom. Intente emparejarse con ellos, con el entendimiento de que puede 'emparejarse' con cosas que no son problemas de codificación. Hable con ellos sobre dónde encuentran su información, qué cuentas de Twitter, blogs y podcasts se mantienen actualizados y cómo se mantienen actualizados con los nuevos desarrollos.
Aprendizaje en el hogar
Como alguien con dos carreras anteriores, ninguna de las cuales estaba relacionada con la informática, que ingresó a la industria a través de un bootcamp de nueve semanas hace un año, tengo un conocimiento rudimentario de la informática, y es probable que muchos de ustedes estén en la misma situación.
He encontrado que Frontend Masters es invaluable cuando se trata de cursos realmente bien diseñados sobre principios de informática y aprendizaje más específico. Personalmente, he encontrado que los cursos de Will Sentance sobre Frontend Masters son valiosos para comprender cómo y por qué cuando se trata de JavaScript estándar. Del mismo modo, los cursos 'Cuatro semestres de informática en 5 horas' de Brian Holt exponen a los estudiantes al tipo de conceptos que pueden surgir en las entrevistas técnicas.
Hay una tarifa de suscripción mensual para Frontend Masters, y vale la pena, pero hay muchos recursos gratuitos maravillosos por ahí. Realmente recomiendo que cualquiera que aún no lo haya hecho se inscriba en CS50. El curso, dirigido por la Universidad de Harvard, es un recurso maravilloso y gratuito que lo expondrá a C, Python, JavaScript y módulos sobre ética y estructuras de datos básicas. Las conferencias son muy divertidas y puedes hacer tanto o tan poco del curso como quieras, sin limitaciones de tiempo.
Del mismo modo, FreeCodeCamp se ha ganado su estatus como un punto de partida clave tanto para los desarrolladores autodidactas como para aquellos que desean desarrollar sus habilidades existentes, y te animo a buscar cursos relevantes para tus intereses en Udemy (te sugiero que no lo hagas). compre un curso de Udemy que no tenga un gran descuento. Sus ventas ocurren una vez cada pocas semanas, y siempre hay códigos de descuento dando vueltas).
Uno de mis favoritos en particular es The Complete Node.js Developer Course de Andrew Mead, y adoro los cursos de Colt Steele (hay uno particularmente bueno sobre algoritmos y estructuras de datos que lo ayudará si alguna vez se encuentra en el lado más pesado de algoritmos). del espectro de entrevistas técnicas). Smashing Magazine también organiza talleres en línea frecuentes sobre una variedad de temas que lo ayudarán a mejorar sus habilidades.
Como sabrá, las habilidades que hacen que las personas trabajen en tecnología a menudo pueden diferir de las habilidades que las personas necesitan usar en el trabajo. Estos cursos le enseñarán los fundamentos de las ciencias de la computación mientras lo mantienen ágil para las entrevistas y lo ayudarán a llenar cualquier silencio potencialmente aplastante con resúmenes ágiles de diferentes estructuras de datos, y sus pros y contras. El punto no es hacer todos estos cursos, sino identificar y combinar los que se ajustan a las especificaciones del trabajo al que se ha dirigido.
Descubrí que Twitter es increíblemente útil para encontrar personas con las que conversar sobre problemas de código. La primavera pasada grité al vacío sobre un problema que estaba teniendo con Android Studio y me sorprendió estar en una videollamada con un desarrollador de Android menos de diez minutos después y, no solo eso, ¡parecía complacido de ayudar!
No subestimes la amabilidad de la comunidad de desarrolladores y no dudes en pedirles ayuda cuando la necesites, y haz todo lo posible para ponerte en situaciones en las que puedas hablar con personas de un mundo similar al tuyo dentro de la contexto más amplio de la industria tecnológica. El hashtag #CodeNewbie es útil si alguna vez necesita ayuda.
Establecer objetivos y horarios
Ahora es el momento de vincular sus objetivos de aprendizaje autodirigido a algunos objetivos. Trate de no poner el listón demasiado alto: si no es realista para usted completar un curso de Udemy en una semana, no intente esforzarse tanto para lograr el objetivo a expensas de otras cosas importantes en su vida. o fallar en alcanzar el objetivo y hacerte sentir como un fracaso. La idea es mantenerse encaminado , aplicando una presión suave para mantenerse motivado, pero no tanto como para sentirse abrumado y perder toda motivación.
Como una persona mañanera, me siento más capaz de concentrarme en el estudio en las horas previas a que comience mi trabajo diario a las 9:30 am. Con esto en mente, y usando la maravillosa herramienta de seguimiento de tiempo, Toggl, paso de 7 am a 9 am dos mañanas por semana estudiando código. Usar Toggl fue extremadamente importante para mí porque, no importa cuánto haga, a menudo siento que no es suficiente. Pero con la ayuda de Toggl, pude ver con certeza que estaba haciendo un mínimo de cuatro horas a la semana (con extra por la noche y los fines de semana si me apetecía) y me sentí más capaz de alejarme de mi computadora portátil y descansar cuando mi se acabó el tiempo, con la certeza de que había acumulado una cantidad aceptable de horas según mis propios estándares.
Hacer que el progreso sea medible
Piense en su horario semanal promedio e intente bloquear algún momento del día en el que tenga la mejor oportunidad de asegurar un enfoque ininterrumpido. Algunos de ustedes serán cuidadores o estarán extremadamente ocupados, y probablemente será mejor que se tomen su tiempo cuando puedan.
Si te sirve ver un ejemplo, mis objetivos personales son los siguientes:
- Complete un curso de Node.js Udemy para fines de febrero.
- Haga 30 minutos de Ejecutar Programa antes del trabajo todos los días.
Trate de errar por el lado de la precaución para su primer conjunto de objetivos. Siempre puedes aumentar la presión si quieres, pero es mejor hacerlo una vez que hayas tenido éxito en algunas; asegúrese de tener el espacio libre mental y físico para concentrarse realmente en lo que necesita hacer para mantenerse encaminado.
¡Encuentre un mentor, un amigo o ambos!
La tutoría es algo que la mayoría de los desarrolladores recomendaría para mejorar las habilidades, pero, desde mi experiencia personal, encontrar a alguien con el tiempo para guiarte es un desafío, especialmente ahora. Hay recursos como Coding Coach que pueden ayudarlo, y conozco algunos desarrolladores que encontraron el mentor de sus sueños en reuniones y en las redes sociales, pero encontrar la combinación perfecta es más fácil decirlo que hacerlo.
Hablé con Falina Lothamer, diseñadora de instrucción en Thinkful, un curso masivo abierto en línea (o MOOC, para abreviar), para tener una idea de cómo los profesionales abordan el aprendizaje independiente. Ella fue muy clara en que encontrar y trabajar con un mentor es clave para progresar en tus habilidades como desarrollador.
“Si necesita tener algo diseñado para usted, tener ese mentor que le diga: 'Aquí es donde creo que debe enfocarse', mostrarle lo que están haciendo en su trabajo y compartir su opinión sobre cuál es el futuro de su área. de la tecnología va a ayudar mucho. Creo que hay mucha gente en la industria que está dispuesta a desempeñar ese papel de mentor y hacer por los demás lo que alguien ha hecho por ellos”.
Después de expresar algunas de mis frustraciones por haber topado con una pared de ladrillos con varios cursos de Udemy, simplemente descubrí que retenía información y no necesariamente tenía la confianza en lo que había aprendido para aplicarlo en otras áreas o en otros proyectos, Fallina fue claro que ser responsable ante otra persona , idealmente un mentor, pero igualmente otro desarrollador con una experiencia profesional similar a la tuya, es esencial.
“Como desarrollador, debe buscar oportunidades para demostrar lo que sabe y cómo está aprendiendo. Tener a alguien más con quien hablar sobre los desafíos que enfrenta y tener espacio para hablar con alguien y darse cuenta de que "esto que estoy tratando de hacer es complicado, no soy un desarrollador terrible". la validación puede ser enorme”.
Para aquellos que no logran encontrar un desarrollador senior que los tome bajo su protección, recomiendo seguir el consejo de Fallina y hacerse responsable ante alguien más en la industria en un nivel similar al suyo. Los desarrolladores que se unan y compartan historias reforzarán que este trabajo es difícil y que no son los únicos ingenieros que luchan por salir adelante en el trabajo algunos días. Este trabajo puede ser muy agotador emocionalmente, y tener un compañero con quien luchar será invaluable en esos días en que nada parece ir bien.
Recomendaría registrarse en Interview Cake, Execute Program o un curso de Udemy relevante para su nivel de habilidad y especialización, y completar los mismos ejercicios que su amigo aproximadamente al mismo tiempo. Hable sobre lo que encontró más fácil y dónde se cayó, y mantenga el contacto entre sí en todo momento. Si bien ciertamente puede hacer estas cosas solo, fomentar un sentido de comunidad lo ayudará a mantenerse concentrado en la tarea y hará que sea más probable que se mantenga firme.
Un caso para aplicaciones de bloc de notas
Si tiene el tiempo y la energía para invertir en un gran proyecto paralelo además del trabajo, más poder para usted, pero creo que la presión para hacerlo es algo pesada. En cambio, soy un fanático del proyecto del bloc de notas, principalmente porque realmente me beneficia seguir muchas ideas nuevas a la vez, y rápidamente me desintereso de los proyectos personales, no hay presión de tiempo para impulsarme.
Si su proyecto paralelo hace una llamada a la API, muestra la información de una manera poco atractiva y ha aprendido algo del proceso, y convertir el proyecto en una aplicación más grande no se ajusta a su neurología, su horario de cuidado , o tus gustos, entonces date un respiro . No te burlarías de un artista por dibujar, y ciertamente no deberías sentirte mal si tus proyectos paralelos son mutantes a medio formar, siempre y cuando obtengas algo del proceso. Mis repositorios de GitHub son elegías a las buenas ideas del pasado, y he hecho las paces con eso.
Redondeo
Dado el estado del mundo en este momento, lo último que quiero ser es otra voz que exija productividad durante el confinamiento. No se trata de eso. Estos son simplemente pasos que funcionaron para mí cuando necesitaba aprender con el tiempo, sin agotarme ni presionarme indebidamente. Si te funcionan, maravilloso. Si no, no te preocupes. Todos tenemos nuestro propio ritmo.
Pasos
- Use las especificaciones del trabajo para identificar las habilidades clave.
- Divida esas habilidades entre el aprendizaje en el trabajo y el aprendizaje en su propio tiempo.
- Establece metas claras, medibles y realistas, y súbelas solo cuando hayas encontrado tu ritmo.
- Encuentre un mentor o un amigo para que sea responsable de esos objetivos.
- ¡Relajarse! El aprendizaje desordenado es mejor que no aprender.
Recursos útiles
- Udemy
- pastel de entrevista
- CS50
- Ejecutar programa
- Entrenador de codificación
- Alternar
- #CódigoNuevo
- Talleres en línea de Smashing Mag
- FreeCodeCampamento
- Maestros de interfaz
- Por supuesto
- Empleos de Guardián
¡Buena suerte!