Oye, novato, no te contratamos para que solo termines las tareas que te asignan
(newsletter.kentbeck.com)- El valor de un ingeniero junior (N00b) no se determina por la cantidad de tareas que completa, sino por su potencial de crecer hasta convertirse en alguien que eleve también la productividad de quienes lo rodean
- Los ingenieros senior clasifican a los juniors en A, que transforman a la organización / B, que entregan resultados estables / y C, que podrían irse en menos de un año; el junior debe enviar señales de que pertenece a la categoría que desea
- Para ser B, el código debe funcionar / hay que compartir el progreso / terminar en un tiempo razonable, como dentro de 3 veces lo estimado / y no generar trabajo innecesario para reviewers ni para operaciones
- A no es quien cierra muchas tareas, sino quien aprende más en cada tarea, por ejemplo eliminando trabajo innecesario / encontrando el 10% de mayor impacto / mejorando el diseño / o enviando una serie de cambios pequeños en lugar de uno grande
- Las actividades que demuestran un desempeño sobresaliente toman más tiempo que simplemente cerrar tareas, pero no se trata de perderse indefinidamente en ramas laterales: el tiempo ahorrado debe invertirse de forma útil para uno mismo y para el equipo
Se contrata al ingeniero del futuro, no a la productividad actual
- El criterio con el que los ingenieros senior observan a un junior se divide, a grandes rasgos, en tres categorías
- A se convierte en un agente de cambio que eleva de forma importante la productividad de quienes lo rodean
- B entrega resultados estables y crece gradualmente
- C podría no seguir en la organización dentro de un año
- Los seniors deben cumplir con su propio trabajo y, al mismo tiempo, determinar a qué categoría pertenece cada junior
- A A se le brinda todo el apoyo posible
- A B se le apoya lo suficiente para que llegue a ser un ingeniero maduro
- Con quien probablemente no permanezca en la organización, se intenta invertir el menor esfuerzo posible
- La tarea asignada a un junior normalmente podría resolverse más rápido y con menos dificultad si la hiciera directamente un manager o un tech lead
- Si solo importara la productividad inmediata, no habría razón para contratar juniors; la empresa paga el salario actual como una prima de opción para asegurarse al ingeniero en el que ese junior puede convertirse
- Si la formación sale bien, aparece una potente siguiente generación de ingenieros; si sale mal, los seniors seguirán haciendo el mismo trabajo de ingeniería incluso dentro de 10 años
No se puede evaluar a un junior solo por la cantidad de tareas
- Si un junior completó 40 tareas en un trimestre y otro completó 20, no se puede decidir cuál es mejor solo con ese número
- Incluso si todas las tareas tuvieran la misma dificultad, seguiría faltando información para distinguir entre A/B/C
- El objetivo de la evaluación no es comparar la producción a corto plazo, sino confirmar en qué tipo de ingeniero está creciendo el junior
Señales básicas para distinguir entre B y C
- Más importante que cerrar una tarea en el menor tiempo posible es cumplir con estas condiciones
- El código escrito realmente funciona
- Se informa a los demás qué se está haciendo
- La tarea se termina en un tiempo razonable, como dentro de 3 veces la estimación inicial
- No se crea una cantidad excesiva o injusta de trabajo adicional para otras personas
- Pedir ayuda y consumir tiempo de otra persona es aceptable, pero estas situaciones son malas señales
- Hacer que el reviewer gaste innecesariamente mucho tiempo
- Obligar a que responda la persona de on-call por errores
- Hacer que intervenga el equipo de DevOps por una caída causada por uno mismo
- Intentar manipular el sistema de evaluación, por ejemplo fingiendo haber hecho algo que no se hizo, se convierte de inmediato en una señal C
- Cualquiera puede enviar una señal C por error, pero no debe repetir la misma señal C dos veces, y en el balance general deben predominar las señales de tipo B
La velocidad de aprendizaje que separa a A de B
- Entre los juniors que al menos entran en B, el criterio para distinguir a A no es la cantidad de tareas completadas, sino cuánto aprende en cada tarea
- Que la productividad actual de un junior sea menor que la de un senior es algo esperado; lo importante no es la productividad en sí, sino la velocidad con la que mejora
Comportamientos propios de A
- Las siguientes acciones van más allá de simplemente sacar una tarea y se convierten en señales A porque amplían el aprendizaje y la productividad de la organización
- Construir un argumento convincente de que esa tarea en realidad no necesita hacerse
- Analizar datos para encontrar el 10% de trabajo que produce el 90% del beneficio total
- Implementar la misma tarea de varias maneras
- Descubrir un mejor diseño y enviar una serie de
diffque simplifiquen no solo la implementación de la tarea, sino también el código alrededor- Si antes de implementar haces que un cambio difícil se vuelva fácil y luego realizas ese cambio ya simplificado, eso se evalúa mejor
- Enviar varios
diffpequeños de forma continua en lugar de un solodiffgrande- Subir
difftodos los días tiene ventajas adicionales
- Subir
- Escribir herramientas internas que simplifiquen tareas similares
- Si no habrá tareas parecidas en el futuro, eso más bien resta puntos
- Enviar
diffútiles para otros equipos o áreas de código, sin entorpecer el cierre de la tarea oficial - Documentar lo aprendido de manera interesante / útil / y convincente
- Hacer reviews con criterio y responder rápido al feedback
- Incluir pruebas unitarias sólidas
- Hay muchas más formas de demostrar un desempeño sobresaliente que de simplemente evitar errores
Es más importante un tiempo razonable que el tiempo mínimo
- Las actividades que cuentan como señales A toman más tiempo que limitarse a la implementación mínima necesaria para cerrar una tarea
- Eso no significa que se tenga permiso para gastar tiempo indefinidamente en desvíos interesantes
- La tarea oficial siempre debe terminarse en un tiempo razonable, aunque no necesariamente en el tiempo mínimo absoluto
Reinvertir el tiempo ahorrado en uno mismo y en el equipo
- Puede sentirse que no hay tiempo para aprendizaje y mejoras adicionales, pero es posible acelerar el ritmo con habilidades como gestión del tiempo / gestión de la cola de trabajo / y gestión de la cola de
diff - El tiempo que se ahorre así debe invertirse en el propio crecimiento de una manera que también beneficie a los demás
4 comentarios
Creo que habría que hablar sobre cómo contratar a un recién llegado con potencial para convertirse en A, y
sobre la capacitación para convertir a un recién llegado con potencial en A...
Pero el contenido del artículo es muy provocador...
A, que cambia la organización / B, que ofrece un rendimiento estable / C, que probablemente se vaya dentro de un año
Entiendo separar A / B, pero C podría ser a la vez A o B; seguro hay muchos casos así...
Parece ser una empresa con una satisfacción de empleados altísima, que refleja de inmediato en el salario el desempeño y el impacto.
Al verlo, en realidad eso de que es probable que te vayas en menos de un año también podría ser una forma elegante de decir despido...
Ah, ya veo. Jajajajajajajaja, no había pensado en que te podían despedir.