He sido desarrollador de software durante casi tantos años como he estado vivo, y he hecho muy poco “aprendizaje” del tipo al que te refieres. Casi nunca dedico mucho tiempo a programar cosas fuera de mis horas de trabajo (muy razonables).
Eso no me ha impedido crecer como desarrollador, ser más productivo en otras formas o lograr una posición bastante importante en una empresa de primer nivel.
Hay varias cosas que hacen esto posible:
- No tienes que aprender toda la basura más nueva y más genial que sale cada mes.
- No debes tratar de aprender todo de una vez. Elige una o dos asignaturas y hazte bueno en esas. Puede tardar un par de años; eso está bien si terminas conociendo tu mierda.
- Aprendes haciendo y, a menudo, puedes aprender mucho en el trabajo . Aprendí Spring y DI / IOC no navegando por un sitio web, sino construyendo un proyecto para mi trabajo. Alguien en el equipo lo había usado en el pasado y nos recomendó que lo recogiéramos, y el resto de nosotros lo dijimos con seguridad, por qué no. También es así como aprendí C #, JSP, JS, HTML, patrones de diseño … casi todas las tecnologías que conozco, realmente.
- No se contente con solo aprender el subconjunto de trabajo mínimo de cualquier tecnología que esté usando. Desafíate a ti mismo para aprender más, entender mejor y mejorar constantemente. Cuando JDK8 salió con soporte para las lambdas y la programación de “estilo funcional”, pasé un par de meses buscando oportunidades para usarlo, para poder aprenderlo. Probablemente lo usé donde no debería haberlo hecho ni una ni dos veces, pero está bien. Dedique tiempo a buscar en las API, a leer la documentación, a buscar el código fuente, a discutir cosas con colegas, etc. Una vez más, puede hacer todo esto con el dinero de su empleador .
- Si hay algún problema que le apasiona , siga adelante y trabaje fuera de las horas de trabajo. Vas a descubra que tener esa pasión hace una gran diferencia en su capacidad para hacer tiempo y ser productivo. Trabajar en un proyecto paralelo que realmente no te importa es mucho más difícil.
- Recuerde que la tecnología es solo una de las muchas habilidades importantes para un ingeniero de software. Otros incluyen comunicación (verbal y escrita), organización, colaboración, priorización, estimación, resolución de problemas, frialdad bajo presión, etc., etc. Hay muchas maneras de mejorar y ser más productivos sin aprender nada nuevo. habilidades.
Así que no te asustes. Tómese su tiempo, aproveche las oportunidades que tenga para aprender y busque más. Si eres inteligente, estarás bien.
- ¿Cómo aprendimos primero sobre los átomos?
- ¿Qué trucos debo aprender mientras espero obtener los trucos intermedios más difíciles?
- ¿Cuál es la secuencia de aprendizaje de vedas y puranas para entenderlos completamente y sin confundirse?
- ¿Dónde empiezo a aprender Machine Learning?
- ¿Cuáles son los mejores pasos para aprender Rails desde cero?