Como nuevo ingeniero de software, está obligado a cometer una serie de errores tácticos debido a la falta de experiencia. Tal vez desarrolle alguna funcionalidad por su cuenta solo para aprender más tarde que hay un patrón de diseño común sobre cómo hacerlo mejor. O accidentalmente empujas un error a la producción. O bien, se olvida de razonar a través de problemas de escalabilidad y rendimiento hasta que ya tenga dificultades para cumplir con un plazo.
Los errores suceden, y estos errores son solo una parte normal del aprendizaje.
Es más importante asegurarse de tomar las decisiones correctas y evitar los errores más costosos. Y para los nuevos ingenieros, el mayor error que le costará a la larga es no optimizar su tasa de aprendizaje . Algunos nuevos ingenieros de software cometen este error porque son demasiado complacientes con sus situaciones actuales. Otros lo hacen porque son demasiado arrogantes y piensan que ya lo saben todo. Aún más caen en la trampa porque temen fallar si intentan algo nuevo, y sin embargo, esa es una de las formas más seguras de quedarse atrás.
- ¿Qué tipos de escalabilidad se refieren generalmente en ingeniería de software?
- ¿Puedo usar cualquier lenguaje de programación para codificar mis propias cosas sin cargo?
- ¿Puedo usar mis proyectos de software en la empresa para la que trabajo como evidencia de mi cartera y propuestas de Upwork?
- ¿Por qué los sistemas operativos son tan grandes?
- ¿Cómo cambian los estilos de codificación en el transcurso de una carrera en ingeniería de software?
Pequeños deltas en su tasa de aprendizaje hacen una gran diferencia a largo plazo porque las inversiones en usted mismo aumentan con el tiempo. El conocimiento y las lecciones que aprende hoy crean una base para las oportunidades que encuentre y aproveche en el futuro. Y cuanto antes invierta en usted, más tiempo tendrán esas inversiones para aumentar su carrera.
Tony Hsieh, el CEO de Zappos, y su equipo de liderazgo son conocidos por presionar a los empleados de Zappos para que se mejoren en un 1% por día. Si puede hacerlo constantemente durante 365 días, obtendrá 37 veces mejor, no un 365% (3,65 veces) mejor para fin de año. [1] Ese es el poder del crecimiento compuesto.
Por lo tanto, el costo de oportunidad de perder oportunidades de aprender y crecer es muy alto. Cuando se enfrenta a una decisión, debe preguntarse: ¿ qué opción aumentaría mi tasa de aprendizaje? La opción que le permite aprender más rápido es la que, a la larga, lo llevará a un mayor éxito.
Centrarse en su tasa de aprendizaje es valioso por otra razón: en realidad es un marco procesable para tomar decisiones y, a menudo, llegar a las mejores prácticas de ingeniería. Cuando su marco de trabajo es elegir la opción que aumenta más su tasa de aprendizaje, una serie de otras decisiones difíciles que enfrenta como ingeniero nuevo lo hacen de forma natural:
- ¿Cómo decides qué oferta de trabajo tomar? ¿Trabajas en una startup o una gran empresa? Trabaje en una empresa o un equipo con una alta tasa de crecimiento y encuentre personas inteligentes de las que pueda aprender.
- ¿Cuándo debe pedir ayuda y cuándo debe luchar con un problema por su cuenta? Pida ayuda cuando el minuto incremental dedicado a luchar no contribuya a su aprendizaje y cuando un poco de orientación le libere su tiempo para aprender más.
- ¿A quién debe enviar sus revisiones de código? Si su objetivo es aprender, debe enviarlo a los críticos más duros que puedan darle comentarios procesables y detallados sobre cómo mejorar su diseño y su código, en lugar de la persona del equipo que tiende a aprobar rápidamente su aprobación.
- ¿Cuál es el tamaño de fragmento adecuado para sus confirmaciones de código? Dado que recibir comentarios antes significa que podrá incorporar esos comentarios en el código futuro que escriba, debe realizar cambios más pequeños e incrementales. Cuando comencé, cometí el error durante mi pasantía en Google de enviar todo mi código para mi proyecto durante la última semana de mi pasantía. Eso provocó un “Edmond te ha enviado una revisión de código descomunal” en la bandeja de entrada de mi mentor. No solo retrasar la revisión del código arriesgó que mi trabajo de verano cayera en el olvido si mi mentor no aprobaba los cambios, sino que también perdí oportunidades para aprender y aplicar sus comentarios. Puede estar seguro de que mis confirmaciones de código fueron mucho más incrementales después de esa experiencia.
- ¿Elige tareas para hacer con las que esté familiarizado o con las que se sienta menos cómodo? Si abordar esa tarea incómoda le enseñará una habilidad valiosa, tal vez en una disciplina adyacente relevante para la suya, entonces podría considerar asumir ese desafío en lugar de hacer más en el mismo.
- ¿Qué debe hacer después de que un proyecto falla o cuando una característica que construye no tiene tanto impacto como se esperaba? Para maximizar su aprendizaje a partir de esa experiencia, debe mantener un post-mortem abierto y honesto con su equipo sobre qué lecciones tomar y cómo evitar los mismos errores la próxima vez.
- ¿Cómo debe tratar con un compañero de trabajo difícil con el que tiene que trabajar? Te encontrarás con personas difíciles a lo largo de tu carrera. Una vez que se asimila, te das cuenta de que ser pasivo-agresivo o evitar al compañero de trabajo no te ayudará a mejorar en el trato con las personas en el futuro. En cambio, trate cada desafío como una experiencia de aprendizaje. Sea proactivo al aprender cómo tener conversaciones difíciles, cómo resolver conflictos y cómo hacer que estas relaciones sean más productivas. Es posible que inicialmente no tenga éxito, pero aprenderá de cada experiencia para las futuras.
- Si planea cambiar de trabajo pronto, ¿qué debe hacer en los últimos meses? Dado que muchas personas cambian de trabajo cada 2 años, todos esos “últimos meses” se acumulan con el tiempo. Simplemente ir por inercia significa que se perderá oportunidades de aprendizaje, entonces, ¿por qué no solo encontrar maneras de aprender tanto como pueda durante esos meses?
Existen innumerables otros ejemplos en los que el camino que conduce a un mayor aprendizaje y crecimiento generalmente conducirá a mejores resultados en sus primeros años, particularmente cuando tiene menos restricciones y responsabilidades para hacer malabarismos.
Hace unos días, cené con un cofundador de una startup en crecimiento, y conversamos durante un tiempo sobre la contratación. Después de hacer cientos de entrevistas de ingeniería, observamos cómo un candidato con una mentalidad de crecimiento positiva generalmente contrata mejor que alguien con habilidades técnicas más fuertes pero que no es consciente de su propia superación personal. Incluso si sus niveles de habilidad actuales no son tan fuertes, si su curva de aprendizaje es exponencial, pronto superará a otros ingenieros más experimentados.
Así que concéntrate en aumentar tu tasa de aprendizaje. Dedique el 20% de su tiempo para invertir en usted mismo. Leer libros. Mejora tus habilidades técnicas y no técnicas. Encuentra un mentor. Asistir a conferencias. Tener en cuenta. Si evita este error de no optimizar su tasa de aprendizaje, estará en camino de convertirse en el mejor ingeniero que pueda ser.
Si está buscando otras formas de aumentar su tasa de aprendizaje, puede consultar este libro que escribí sobre prácticas y mentalidades de ingeniería eficaces .
[1]: El poder del 1%