Estoy tratando de liderar un equipo de software que se está quedando atrás. Uno de los principales problemas es que cada vez que algo es levemente difícil, termino teniendo que asignarlo a mí mismo. Tuve otro desarrollador con habilidades moderadas y medio pasante. Desafortunadamente, las habilidades del otro desarrollador no incluyen el diseño.
Así que le rogué a mi jefe por uno de los muchachos en uno de los otros equipos, él ha estado trabajando aquí más tiempo que yo (5 años). No puede competir conmigo en el diseño O el lenguaje que usamos, pero pensé que era el más competente además de mí.
Hoy me dio un código que hizo algo que no era en absoluto diferente a:
object const& my_class::get_object() const
{
return *std::unique_ptr<object>(new object());
}
¡Me preguntó si eso era un problema! Dije lo único en lo que podía pensar, "Sí. Eso es un problema". ¡Luego se acerca a mi escritorio y me pregunta cómo solucionarlo! Le dije: "Usa un objeto que sobreviva a la llamada de la función". Luego comienza a enloquecer, "Sí, pero cómo, lo único que se me ocurre es hacer que un miembro sea variable".
Estaba un poco ocupado en este momento porque ya estaba tratando de hacer un trabajo extra. Tuve que reemplazar al otro tipo en el equipo porque no podía entenderlo ... Le dije al tipo que se fuera porque yo estaba ocupado e ir a resolverlo él mismo. Luego se enoja hablando de que no es su culpa si arruina las cosas. Ha estado enloqueciendo desde que llegó al equipo y no creo que esté mejorando.
Siento que me estoy ahogando aquí. ¿Qué puedo hacer? ¿Cuál era la forma correcta de lidiar con eso? ¿Habría sido más razonable ayudar a este tipo que ha estado escribiendo C ++ durante 7 años a descubrir cómo devolver correctamente una referencia a un objeto que no se destruye en el momento en que se devuelve? Siento que es ridículo tener que hacerlo y me pregunto cómo demonios podría hacer algo así.
A veces creo que lo están haciendo a propósito, pero eso me parece una locura ... pero, una vez más, también lo hace la pregunta que me hicieron hoy. Este no es un niño sentado en casa tratando de descifrar su primer programa, con su cerebro golpeado por punteros.
Respuestas:
Repartí todos mis libros de C ++ hace varios años, mientras juraba que nunca volvería a tocar ese lenguaje, e incluso yo puedo decir que este tipo no sabe lo que está haciendo. Creo que deberías sentarte con él y descubrir cuál es su nivel de habilidad.
Parece que tal vez tiene 1 año de experiencia siete veces, no siete años de experiencia. En las empresas más grandes, es muy posible que los trabajadores no calificados se escondan y barajen "alrededor del sistema" cada vez que quedan atrapados.
Si este es el caso, entonces debes detenerte y descubrir cuáles son los niveles de habilidad de la gente. Entiendo que te sientes abrumado por los plazos y tal, pero no puedes hacer el trabajo cuando ni siquiera puedes estar seguro de en qué consiste tu equipo. No puede completar el proyecto si sigue cometiendo los mismos errores, pero esta vez más rápido.
Asumir todo el trabajo en ti mismo significa que no tienes un equipo, ni confías en ellos. Eso tiene que arreglarse primero.
fuente
Este tipo de problema es el pan de cada día de la gestión. Una pregunta que todos los gerentes deben hacer es: "¿Mi gente tiene las habilidades necesarias para hacer el trabajo?" Si la respuesta es "no", un buen gerente no grita ni renuncia; un buen gerente se encarga de rectificar la situación.
Aquí hay una observación: C ++ no es un lenguaje trivial, entonces, ¿es posible usar algo en lo que sus desarrolladores junior sean más competentes? Si debe estar en C ++, entonces necesita capacitar a sus desarrolladores existentes o contratar nuevos desarrolladores con las habilidades adecuadas.
Estaba en una situación no diferente hace un año. Fui contratado para dirigir un equipo de programadores de VB6 que trabajaban en el código de espagueti, y el deseo de la administración era cambiar hacia sistemas bien orientados y orientados a objetos escritos en .NET. Hemos hecho un excelente progreso en esta área, por lo que este tipo de cambios son posibles.
Un comentario final. Si no le gusta lidiar con este tipo de problema, me saldría de la gerencia y volvería a un rol puramente técnico. Este tipo de problemas desordenados son el pan de cada día de la vida de un gerente, y no se adapta a todos.
fuente
Consigue un trabajo en una empresa mejor donde puedas trabajar con personas competentes.
fuente
Lo correcto hubiera sido ayudarlo con el problema. No tenía que estar justo en el lugar. Podrías haber dicho: "Estoy atado en este momento. Ve a leer el Capítulo X de C ++ STL, y volvamos a tocar la base mañana a las 11 a.m.".
Gritar puede funcionar para algunas personas y algunas situaciones si es solo una cuestión de motivación. Pero, si es una cuestión de competencia o conocimiento, gritar a las personas y hacerlas volar no ayuda en absoluto. Es como gritar a las personas que no hablan inglés. no les ayuda a entender lo que estás tratando de decir, y puede matar cualquier motivación que tengan para tratar de ayudarte. Están donde están, y ninguna cantidad de ira o frustración de su parte los hará mejores para escribir C ++ en las próximas 48 horas. También es posible que deba volver a la administración y explicar que el alcance del proyecto está más allá de la habilidad actual de su equipo. Cosas como esta es la razón por la cual ser líder del equipo es un fracking duro.
fuente
Bueno, si alguien que ha estado escribiendo código durante 7 años pregunte algo que suena bastante básico, tendría que preguntarme qué más está pasando. No soy un programador de C ++, así que no puedo comentar sobre ese aspecto.
Lo que me gustaría saber, como su supervisor, supondría, si algo más está sucediendo, lo está distrayendo. Me doy cuenta de que es posible que no hayas tenido tiempo en ese momento, pero lo último que debes hacer es alejar a alguien así.
Dedique un momento para hablar con él y hágale saber en ese momento: "Entiendo su urgencia en esto, pero no tengo tiempo para esto ahora. Tan pronto como lo haga, se lo haré saber. Esperaría no más de aproximadamente una hora ".
De esta manera, ha transmitido su comprensión de su urgencia, de que no tiene tiempo y de que volverá con él. Incluso como una expectativa de cuándo volverás con él. Se sentirá mucho mejor al respecto que ser expulsado (así es como lo tomaría).
Lo que debe hacer ahora es reservar algo de tiempo y hacerle saber cuándo puede hablar con él sobre el tema. Vuelva atrás y trague un poco de orgullo, hágale saber a la persona que comprende su urgencia y que no tuvo tiempo de lidiar con eso. También debe ver si tiene algo en sus áreas personales que podría estar afectando su atención, es decir, qué más podría distraerlo. Las vidas personales también nos afectan a los programadores. ;)
fuente
Creo que necesitas sentarte con tu jefe y explicárselo todo. Eso suena loco: ¿qué está haciendo ese tipo incluso trabajando allí si no sabe lo básico?
fuente