¿Cuánto tiempo es un tiempo razonable para los ingenieros de software senior?

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.

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.

Realmente depende de la brecha entre la experiencia de la persona mayor y las necesidades del trabajo, así como la brecha entre las expectativas del gerente de contratación y el estado actual de la empresa.

En la mayoría de las situaciones, un ingeniero de software senior puede intervenir y descubrir la disposición general de la tierra y dónde están los puntos débiles dentro de una semana. Es posible que no sean completamente productivos en la segunda semana porque todavía tienen que descubrir la política de la organización, sus defensores y adversarios, qué tienen permiso para hacer y qué son todas las minas terrestres ocultas.

Sin embargo, llevará mucho más tiempo si “al día” significa “puede comenzar a ejecutar un plan de recuperación para nuestro equipo”, y el equipo es totalmente disfuncional. Por el contrario, llevará mucho menos tiempo si la experiencia de la persona mayor se alinea exactamente con el trabajo y la expectativa del gerente de contratación es “ponerse en marcha”, y el equipo los ama …

More Interesting

¿Son realmente útiles los certificados en las ubicaciones de la empresa?

Cómo encontrar un 'jugador A' para trabajar

¿Cómo es trabajar en Zynga en 2015?

¿Hay alguna manera de convertirse en CEO sin décadas de experiencia en una empresa importante?

Mi supervisor me impide aceptar una oferta de trabajo de otro profesor. ¿Qué tengo que hacer?

¿Cuál es el perfil de trabajo de un oficial de servicio exterior indio?

Tengo un B.Tech en ECE, trabajando en el sector de TI. Quiero trabajar en una industria relacionada con la electrónica, ¿qué debo hacer?

¿Cuáles son buenas carreras para estudiantes de escritura creativa?

¿Cuáles son algunas pasantías para estudiantes de ingeniería industrial?

¿Cuáles son las opciones de carrera para un titular de maestría en biotecnología con visa H4 en los Estados Unidos?

Cómo saber si la ley es algo en lo que seré bueno

¿Cuál es la mejor capacitación o certificación que un estadounidense de 55 años puede obtener para conseguir un trabajo?

Soy un desarrollador Java J2EE en Chennai con 3.5 años de experiencia. Mi CTC es 3.16 RS, y ahora estoy planeando cambiar de compañía. ¿Cuánto salario puedo esperar si me mudo a una empresa de nivel cinco?

¿Cuáles son los pros y los contras de obtener una maestría en informática en lugar de un doctorado?

Actualmente soy coordinador de producción en un entorno de fabricación por contrato; ¿Qué certificaciones me ayudarán a ingresar a la gestión de proyectos de software?