He aumentado decenas de ingenieros de software senior en mis 10 años dirigiendo una empresa de software. Puedes ver las historias de lo que sale mal en mi otra publicación sobre razones comunes por las que los ingenieros de software son despedidos.
Para prefacio de todo esto, el proceso de entrevista y contratación debe ser lo suficientemente robusto como para que no necesite usar el flujo de integración del desarrollador para evaluar la competencia de un nuevo desarrollador. En cambio, el propósito de la incorporación es en la cama en la que se encuentra el nuevo desarrollador, comprender sus fortalezas y debilidades y solo en circunstancias excepcionales debe encontrar la razón para excluir a los nuevos empleados.
No hay reglas duras y rápidas sobre un tiempo razonable para aumentar, ya que las variables que dictarán el período de tiempo son muy variadas. Por ejemplo, el tamaño y la complejidad del proyecto y / o la tecnología que el desarrollador está cortando sus dientes, sus años de experiencia, ya sea que estén escribiendo software para un cliente / industria que conocen y entienden (o también tienen que aprender el contexto comercial) ?), su capacidad de asumir nueva información, etc.
- Soy una ingeniera de 24 años de Bangalore y creo que estoy desperdiciando mi vida. ¿Que hago después?
- Soy un estudiante internacional en EE. UU. Con MS en CS. Odio los trabajos de escritorio. Quiero hacer algo completamente ajeno a CS y permanecer en los EE. UU., ¿Qué hago?
- ¿Cuáles son las mejores carreras en la industria de viajes y turismo?
- ¿Cómo decidir si debo elegir civil sobre otras ramas (como mecánica)? ¿Cuáles son algunos temas fascinantes en ingeniería civil?
- ¿Dónde puedo encontrar pasantías para estudiantes de estadística?
Estoy seguro de que alguien más inteligente que yo podría crear una fórmula que tome estas variables y genere un tiempo de aceleración.
Lamentablemente, no soy tan inteligente, así que me centraré en los aspectos prácticos de la aceleración y las escalas de tiempo asociadas. En particular, hay una serie de etapas de aceleración que esperaría ver progresar a un nuevo desarrollador senior. En mi opinión, cualquier atraso que progrese a través de estas etapas son señales de alerta que deberán abordarse.
Etapa 0 – el encuentro y saludo (día 1)
Antes de preocuparse por los aspectos técnicos de su función, un nuevo desarrollador senior debe comenzar a construir relaciones con el equipo. Se debe prestar especial atención a los empleados que el desarrollador principal gestionará si corresponde, pero todas las relaciones son importantes. Saludar a las personas, tener una idea de quién hace qué y dónde ir en la oficina es esencial para comenzar bien.
Bandera roja: El nuevo desarrollador hace un esfuerzo mínimo para conocer a las personas y, en cambio, quiere ir directamente al trabajo, enterrando su cabeza en la nueva computadora que acaba de comprar.
Etapa 1: herramientas y comunicaciones electrónicas (Día 1, quizás día 2)
A continuación, el desarrollador querrá configurar su computadora y su entorno, ya que necesitan trabajar de manera eficiente y cómoda.
Son los sospechosos habituales aquí, Git, Slack (lo sé, boo!), Trello, software de seguimiento de tiempo, software de recursos humanos, Visual Studio, bases de datos SQL, etc.
Como parte de este proceso, abren líneas electrónicas de comunicación con varios miembros del equipo.
Bandera roja: el desarrollador muestra poco o ningún interés en las herramientas utilizadas, o de hecho configura su entorno para lograr la eficiencia.
Etapa 2 – corrección de errores (semana 1 a 3)
Por lo general, pedimos a los nuevos desarrolladores, independientemente de su antigüedad, que comiencen su tiempo con nosotros para corregir errores. Las correcciones de errores son excelentes porque brindan al desarrollador la oportunidad de trabajar en pequeñas pepitas de trabajo que tocan muchas áreas variadas del software. El proceso de corregir errores también los expone al ciclo de vida de desarrollo completo y a varios miembros del equipo varias veces, una vez por cada error que corrigen.
Esto les permite flexionar sus músculos de comunicación, interactuar con el equipo de manera significativa y realmente tener una idea de cómo funcionan las cosas y las personas.
Por el contrario, nos permite ver cómo realizan su trabajo, y quizás lo más importante es que les da a los gerentes del nuevo empleado la capacidad de comenzar una evaluación de qué tan bien se están acostando. Es posible que no sepamos cuánto tiempo llevará un error para solucionarlo antes de que se solucione, pero una vez que se solucione el error y el código de la corrección se haya comprometido con el control de origen, el nuevo desarrollador explicará la causa del problema y la solución. Luego podemos realizar ingeniería inversa para determinar cuánto tiempo debería haber tardado la solución en comparación con el tiempo que realmente tomó.
Bandera roja: el nuevo desarrollador no puede comprender las herramientas y los procesos que utiliza el equipo, no puede comunicarse de manera efectiva, o toma órdenes de magnitud más tiempo para corregir errores de lo que sus gerentes creen necesario.
Etapa 3 – el mini proyecto (Mes 1 – 2)
Lo bueno de pedirle al nuevo desarrollador que trabaje en la corrección de errores es que es posible quitarlos de las correcciones de errores y pasarlos a algo más carnoso en cualquier momento sin causar interrupciones.
Por lo tanto, en cualquier momento de la etapa de corrección de errores, haremos una llamada para que el desarrollador se haya asentado lo suficiente como para asumir un nuevo trabajo de características.
En este punto, contactaremos al desarrollador con una o más personas, y trabajarán con el desarrollador para asignarle tareas que constituyan un sprint de trabajo en una nueva función. Es mejor ponerse en contacto de esta manera, ya que lo último que desea es que un desarrollador de guardabosques solitario haga lo suyo durante los primeros meses sin supervisión.
Este es el paso final. Los nuevos administradores de desarrolladores consultarán a las personas que se relacionan con el nuevo desarrollador de manera regular para garantizar que la calidad y el ritmo del trabajo estén donde deben estar. Las revisiones de código a menudo son una buena idea aquí, ya que los desarrolladores de cualquier experiencia a menudo necesitarán ajustes para adaptarse a los estándares de código específicos de su nuevo empleador.
Bandera roja: el nuevo desarrollador tiene dificultades para avanzar en el proyecto a un ritmo con el que sus amigos están satisfechos, o las revisiones de código generan serias preocupaciones sobre la capacidad de los desarrolladores para producir código de alta calidad.
Resumen
Creo que es justo decir que debe tener una idea de la competencia del nuevo empleado para el final del primer mes, y debe tener un nuevo miembro del equipo en pleno funcionamiento para el final del segundo mes o más o menos. Por más tiempo, esto es motivo de preocupación y debe investigarse.