¿Cómo lidiar con un subordinado de bajo rendimiento?

Soy un desarrollador de software con experiencia de más de 1,5 años. Después de estar contento con mi desempeño, el CTO de mi empresa me nombró líder de equipo de 3 nuevos empleados (2 de ellos se graduaron recientemente).

Hay un empleado, el recién graduado (Llamémoslo John). John solo conoce Java básico y nada más. Ahora, los estoy asesorando en un proyecto front-end compuesto por Angular. Pero ni siquiera conoce los conceptos básicos de HTML y CSS. Le dije que estudiara estos temas en casa de Codeacademy los fines de semana/vacaciones. Pero no lo hizo.

Ahora, cada vez que les asigno un trabajo, los otros dos empleados hacen el trabajo con facilidad, pero a John le cuesta incluso establecer márgenes y rellenos. Su principal problema es que no hace el trabajo de una manera lógica, sino que siempre intenta algunas permutaciones y combinaciones aleatorias para hacer que sus golpes de suerte sean un intento exitoso de hacer el trabajo. Tengo que darle de comer con cuchara para cada pequeña tarea. Esto llevó a la demora constante del proyecto que ha sido asignado a mi equipo desde el CTO. Y debido a este retraso, mi CTO me ha estado regañando sin piedad durante los últimos días.

No le dije nada a CTO, pero hablé con John una vez y le dije que necesita estudiar los conceptos básicos de estos temas simples o no podrá trabajar en Angular. Incluso le dije que buscara en Google un concepto que no conoce, pero que ni siquiera es bueno para buscar en Google.

Ahora, debido a la creciente presión y regaños de mi CTO, estoy pensando que la única solución que me queda es contarle al CTO sobre él y sus hábitos de hacer el trabajo con estimaciones para que pueda decidir si John está listo para trabajar. O no.

Entonces, quiero preguntar si esta sería una buena solución para lidiar con este problema o si hay algo más que pueda hacer para enfrentar esta solución.

Editar: A todos esos grandes muchachos, que me están culpando en los comentarios y respuestas allí mismo, quiero hacerles saber que le había dado a cada uno de esos 3 subordinados una tarea simple de HTML, CSS, JavaScript y Angular antes de comenzar el proyecto, que cada uno de ellos pudo completar con éxito. No es como si simplemente les lanzara el proyecto y les dijera que hicieran esto y aquello a toda prisa. Esta es mi primera experiencia liderando un equipo. Además, el poder no está en mis manos para simplemente asignarles la tarea de capacitación o la tarea del proyecto real. Hago lo que mi CTO me dijo que hiciera y cada vez que he tomado la decisión de brindarles capacitación por mi cuenta, el CTO me dice siempre: "aprender HTML, CSS, JavaScript no es algo para lo que tengan que dedicar meses". Enséñeles los conceptos básicos en 4 horas y deles un día para hacer una tarea simple y luego estarán listos para el proyecto. Descansa aprenderán mientras hacen el proyecto. No tenemos tanto tiempo para dedicarlo a su entrenamiento".

Ahora, la ironía aquí es que mi empresa contrata a los empleados solo sobre la base de su prueba de aptitud y con una prueba de programación extremadamente fácil. Les dicen a los de primer año que se le proporcionará un entrenamiento de 6 meses. Pero en realidad, este entrenamiento dura no más de 1 semana.

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
No ha explicado en la pregunta qué considera que es Java "básico", que probablemente sea relevante para comprender la dinámica aquí.
¿Puedes agregar una etiqueta de ubicación? Nadie parece haber mencionado que pedirle a su empleado que estudie sin pago fuera del trabajo puede haber sido ilegal (incluso si fue su CTO quien dio la orden inicial)
¿"Más de 1,5 años" es "menos de 2 años"?
FWIW, si solo tiene 1 desarrollador que no cumple con sus expectativas, entonces debería estar superando todas las expectativas en su proyecto. Su trabajo es descubrir EN QUÉ es bueno cada persona y optimizar a partir de ahí. No culpe a alguien por no cumplir continuamente con sus expectativas y luego siga adelante y asignándole el mismo tipo de tareas a esa persona. En algún momento debería hacer clic en que hay otras tareas en las que la persona podría ser más útil y productiva.
Según su comentario adicional en la parte inferior, parece que su CTO no distingue su trasero de un agujero en el suelo. Yo mismo comenzaría a buscar una nueva empresa si fuera usted, una que tenga un CTO que realmente sepa cómo funciona el desarrollo de software en el mundo real, y no solo un idiota con traje.

Respuestas (15)

Así que aquí está la parte que me parece incompleta: le ha pedido a su empleado, John, que haga horas extra no remuneradas los fines de semana.

  • La razón por la que es "trabajo" es porque aprender Angular no es algo que a John le gustaría hacer en su tiempo libre, por lo que aún no lo ha hecho (y sigue sin hacerlo), y no le proporciona ningún valor a John personalmente, excepto en la medida en que aporta valor a la empresa. La realización de una tarea que no es en beneficio propio y en cambio es en beneficio exclusivo del empleador, se denomina "trabajo".

  • En cuanto a las "horas extra", eso debería quedar claro; John normalmente no trabaja los fines de semana, por lo que le ha pedido que trabaje fuera del horario habitual. Eso se llama "tiempo extra".

  • En cuanto a "no remunerado", presumiblemente no le ha ofrecido a John ningún tipo de compensación por hacer este trabajo el fin de semana y, presumiblemente, no tiene la autoridad para hacerlo. Como resultado, John no será compensado por realizar estos esfuerzos durante el fin de semana. Eso se llama "no pagado".

Ahora que tenemos esto claro, como líder de equipo, y particularmente como nuevo líder de equipo, no debería tener su primera impresión con su nuevo equipo de "pasar el fin de semana haciendo horas extras no remuneradas". Eso no va a funcionar para usted en el largo plazo. No hagas eso.

Desde la perspectiva de John, también pude ver una pregunta (¡y he visto muchas en Workplace SE en el pasado!) que dice algo así:

Hace poco me gradué de la universidad, solicité y conseguí un trabajo en una empresa que buscaba un desarrollador Java backend. Al unirme a la empresa, me colocaron de inmediato en un equipo de desarrollo frontend usando Angular. No tengo experiencia con Angular, y tanto el entrevistador como el gerente de contratación lo sabían durante todo el proceso de la entrevista. Además, debido a estas circunstancias, mi jefe me ha requerido que haga horas extras no remuneradas los fines de semana para compensar mi falta de conocimiento. ¿Qué tengo que hacer?

A lo cual, y debido a que he visto este tipo de preguntas en el pasado, la respuesta de la gran mayoría sería "Las horas extra no pagadas no son buenas, su empresa no lo respeta, lo sorprendieron con un equipo que no coincide con su conjunto de habilidades, encontrar otro trabajo". Y eso es lo que Juan va a hacer.

Si desea ayudar a John en lugar de frustrarlo y hacer que se vaya, esto es lo que puede hacer:

  1. No le pida a John (¡ni a nadie más!) que trabaje horas extras no remuneradas. Eso no es cool.

  2. Si John necesita aprender Angular, permítale hacerlo durante las horas de trabajo. Prepare algunas tareas de aceleración para él (pequeñas tareas para que se acostumbre al marco y al desarrollo frontend) para que pueda mojarse los pies lentamente y aumentar su nivel de comodidad.

  3. Proporcione a John la tutoría que necesita.

De lo contrario, pídale a su cadena de mando que transfiera a John a un equipo que realmente use el conjunto de habilidades para las que fue entrevistado y contratado, y no lo tome por sorpresa tratando de convertir a un desarrollador backend capaz en un desarrollador frontend horrible.

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
Esa es una gran respuesta. Sin embargo, habría puesto más énfasis en mover a John a otro equipo, pero aún así, una gran respuesta. Agregaría el hecho de que cuando el CTO da un objetivo, OP es el que tiene que informar si la línea de tiempo parece buena o no.
@AzirisMorora Hablando como alguien que ha sido trasladado administrativamente a otro equipo anteriormente, el proceso no es amigable. Básicamente, se siente como si lo hubieran "expulsado del equipo", incluso si su gerente es muy amable al respecto. Realmente debería ser un último recurso, y lo pinté como tal.
@ Ertai87 Correcto, tiene sentido, aunque supongo que es posible ofrecer la opción sin presionar a John.
@AzirisMorora Si su jefe se le acerca y le dice "¿No le gustaría un trabajo en un equipo que no es el mío?" ¿No sonaría como si te estuvieran echando del equipo y también como extremadamente pasivo-agresivo?
@ Ertai87 Lo haría, si no notara que había un problema con el equipo en el que estoy. De todos modos, sigo creyendo que tienes razón cuando dices que debería ser el último recurso.
Parece que a John le conviene más ser despedido que perder el tiempo de ambas partes. Si ni siquiera sabe algo tan básico como HTML y CSS después de graduarse de la universidad, es un incompetente. Y ni siquiera está dispuesto a dedicar tiempo a aprender los conceptos básicos para superar esta incompetencia. ¿Pide horas extras? No creo que debería haber sido contratado en primer lugar.
@Jack Soy alumno de la escuela número 1 de Canadá en ciencias de la computación (básicamente el equivalente canadiense del MIT) y me gradué con honores. Mi escuela ni siquiera ofrece ningún curso sobre algo "tan básico como HTML o CSS". ¿Me considerarías incompetente?
@Jack A algunas personas les gusta el desarrollo web y aprenden HTML/CSS. Otros prefieren otros aspectos de la programación sin deseo de trabajar con HTML/CSS. Aunque tampoco se necesita una gran cantidad de conocimientos para aprender y ser capaz de hacer una buena cantidad de cosas, se necesita un esfuerzo considerablemente mayor para hacer esas mismas cosas a un nivel de calidad profesional. Multiplique la cantidad de esfuerzo varias veces para los recién graduados típicos, ya que no tienen la experiencia de proyectos anteriores a los que recurrir. ¿¿¿Incompetente??? Posiblemente, pero no hay suficiente información para hacer esa afirmación. Falta de iniciativa... eso es justo.
... En cuanto a "él no debería haber sido contratado en primer lugar"... Piénselo por un segundo. La empresa está pagando a 4 desarrolladores de software, el líder es el desarrollador veterano experimentado con 1,5 años de experiencia. ¿De verdad crees que la empresa tiene idea de a quién contratar o no?
@Dunk Well John tiene dos opciones. Solicitó un trabajo para el que no estaba calificado. De hecho, tiene suerte de que incluso lo hayan contratado a pesar de su repetida incompetencia para cumplir con las tareas básicas. Su primera opción es estudiar HTML y CSS para seguir empleado en un trabajo para el que no está calificado y posiblemente mintió para que lo contrataran. Su segunda opción es renunciar a un trabajo para el que no está calificado y esperar horas extras por un trabajo para el que potencialmente mintió. La empresa le está dando una oportunidad aquí. Puedes hablar de cómo debería ser compensado por estudiar por su cuenta, etc. y cómo debería ser el mundo laboral ideal...
...pero John agrió esa relación en el momento en que mintió sobre su competencia para obtener un empleo. Y si no mintió y es solo 5 veces más lento que sus colegas en el aprendizaje de tecnologías, tampoco es culpa del empleador. Sus colegas no necesitan pedir horas extra para aprender alguna tecnología básica porque son lo suficientemente competentes para aprender durante el tiempo de trabajo. El hecho de que John esté intentando "permutaciones aleatorias para que las cosas funcionen" habla de su incompetencia y no es culpa del empleador que sea más lento de lo normal. ¿Es tan irrazonable que una empresa le dé una segunda oportunidad?
@Jack: está suponiendo que John sabía que lo contratarían para ser un desarrollador de Angular y se vendió a sí mismo para serlo. No creo que se hayan establecido pruebas.
@Dunk No estamos hablando de Angular. Estamos hablando de HTML y CSS básicos con los que tiene problemas. Sería más comprensivo si Angular fuera todo con lo que luchó, pero ni siquiera sabe cómo usar los márgenes y el relleno.
@Jack Soy alumno de la escuela número 1 de Canadá en ciencias de la computación (básicamente el equivalente canadiense del MIT) y me gradué con honores. Mi escuela no me enseñó nada sobre márgenes o relleno. Si tuviera que intentar hacerlo, básicamente estaría probando permutaciones aleatorias para que las cosas funcionen. ¿Me considerarías incompetente?
@Jack Además, como dijo Dunk, no hay indicios de que John supiera que lo estaban contratando para ser un desarrollador front-end, ya sea Angular o React o cualquier otra cosa, o incluso "HTML básico y CSS".
@Ertai87 No estoy seguro de por qué sigues haciendo referencia a tu escuela número 1 (¿presumiendo?), pero puedo decirte que la universidad no está cerca de prepararte para la fuerza laboral. No te enseñan nada práctico, tuve que aprender muchas cosas por mi cuenta, no mascota del plan de estudios. Si confiara exclusivamente en lo que aprendí en la escuela para conseguir un trabajo, ahora estaría desempleado o despedido. John tiene suerte de ser contratado por hacer lo mínimo para graduarse, completando tareas superficiales sin ningún uso práctico real.
Hay una diferencia entre probar cosas y aprender. Si después de 3 meses aún no sabe cómo establecer márgenes, obviamente es incompetente o no es apto para el trabajo. Si ese es el caso, debe renunciar. No creo que sea ético seguir recibiendo pagos por un trabajo para el que lamentablemente no está calificado (y no debería haber sido contratado en primer lugar), y descartar sugerencias para tratar de mejorar para seguir trabajando. En este punto, John no es más que una sanguijuela que encontró una empresa tonta que está tratando de vilipendiar.

Si yo fuera un CTO y un gerente viniera a mí y me dijera:

No estamos rindiendo porque uno de los miembros de mi equipo es malo en su trabajo.

Mi respuesta sería,

¿Porqué me estas diciendo esto? Eres el líder del equipo, haz algo al respecto. ¿Cuál es tu plan?

En otras palabras, ir a su CTO y explicarle la demora señalando los problemas de rendimiento en su equipo no es la solución , no cambiará nada repentinamente ni resolverá el problema. Debe idear un plan de acción, no solo decirle a otra persona que la persona tiene un desempeño deficiente. Sí, es posible que desee comunicar el hecho de que ella tiene un desempeño deficiente, pero la comunicación es solo parte del proceso, no es lo que hará que todo esto desaparezca.

Parece que ya has hecho un trabajo a medias al decirle que necesita aprender sobre estos temas. Es posible que desee reflexionar sobre algunas otras opciones:

  • Esperar que un empleado aprenda en su propio tiempo no siempre es fructífero, como ha visto. ¿Tiene la oportunidad de incorporar la capacitación en su tiempo de trabajo? ¿Al tener a alguien que la guíe o la entrene? ¿O permitirle "tiempo de desarrollo" en el que pueda concentrarse en aprender?
  • Esperar que un empleado pueda hacer un buen trabajo en una tecnología con la que no está familiarizado tampoco siempre es fructífero. Algunos desarrolladores pueden aprender fácilmente nuevos lenguajes o plataformas, otros luchan y es mejor que los traten como "expertos" en un entorno específico. Si ese es el caso de esta mujer, debe decidir si su empresa necesita un experto en Java o si necesita a alguien que sea flexible. No es inherentemente un problema de que sea una mala desarrolladora, puede ser que no sea del tipo que necesitas.
  • Asegúrese de entender el enfoque de su empleador para la gestión del desempeño. Si el empleado no puede realizar el trabajo como se describe en la descripción del trabajo, es posible que deba comenzar a tomar medidas más formales. La clave cuando esto sucede es seguir la política (es decir, ¿su departamento de recursos humanos tiene un proceso formal de mejora del desempeño?) adaptar.

Una cosa que es difícil de comprender para algunos líderes recién ascendidos es que su trabajo no es ser un experto en las tareas que realiza su equipo. En muchos entornos, su trabajo se trata tanto de administrar a las personas como de administrar el trabajo. Este es un problema de personas. Sí, puede ser que sus habilidades deficientes estén causando que el trabajo se retrase, pero desde la perspectiva del empleador, ese es tanto su problema como el de ella.

Exactamente, líder de equipo significa "Todo eres tú". Dicho esto, a menudo tienes que despedir a la gente y, en ese caso, solo tienes que decirle con calma al Jefe que necesitas despedir a alguien.
+1 Creo que algunos líderes recién ascendidos tienen problemas para separar sus funciones anteriores de las actuales. Se supone que un líder y gerente debe liderar, delegar y administrar el equipo; si algo no se entrega, usted es personalmente responsable de las acciones de su equipo.
Sí, esos son los puntos que estaba tratando de enfatizar en el último párrafo. Desafortunadamente, muchas personas son promovidas a "líder de X" porque son buenas en X. Ser bueno liderando a personas que hacen X es muy diferente de ser bueno haciendo X. Si a estas personas no se les da orientación sobre lo que significa liderar, el empleador termina en situaciones como esta, en las que depende de un líder que, francamente, no tiene idea de cómo liderar.
En general, se cree que un buen líder no solo puede identificar un problema, sino también encontrar una solución para ese problema.
Odio ser quisquilloso, pero el nombre "John" no me suena tan femenino.
He observado que el 99% de las personas dicen que yo soy el responsable de esta situación. En realidad no es que no lo haya ayudado. De hecho, de mis 8-9 horas en la oficina, 4 horas diarias se dedican a ayudarlo en cualquier problema que enfrente. Pero estoy harto de darle de comer con cuchara ya que él no es capaz de pensar lógicamente cuando se le pide que complete una tarea por su cuenta.
¿A qué te refieres con dar de comer con cuchara? ¿Ha intentado un enfoque que no sea la alimentación con cuchara? Cuando la "ayuda" no es "ayudar", entonces el primer paso debe ser considerar otras formas de ayudar. Algunas personas necesitan ver ejemplos. Algunas personas necesitan alejarse y repensar todo su enfoque. Algunas personas tienen la mentalidad correcta, pero solo necesitan aprender las peculiaridades de ese idioma o plataforma.
@dwizum por alimentación con cuchara, quiero decir que tengo que ayudarlo en cada tarea simple que se le asigne. No es capaz de hacer ni una sola tarea por su cuenta. Incluso tengo que resolver el 90-95% de sus tareas yo solo y luego él aprende. Pero esto no puede continuar para siempre y es por eso que pregunté qué otras soluciones puedo intentar para tratar este problema.
No lo ayude (¿a ella?) con cada tarea, y absolutamente no resuelva sus problemas por ellos, eso es solo entrenarlos para que confíen en su resolución de problemas. Necesitas enseñarles cómo resolver sus propios problemas. Enfócate en enseñarles a aprender e investigar por su cuenta. Enséñeles una manera eficiente de experimentar cuando no saben una respuesta por adelantado y no pueden encontrarla en la investigación. Debes estar familiarizado con el proverbio: El empleado dice "Tengo hambre" y le estás dando un pescado. No hagas eso. Enséñales a pescar por sí mismos. O deshazte de ellos y encuentra a alguien lo suficientemente hábil.
Excelente respuesta! Agregaría que está bien ir a su supervisor y decirle algo como "Tengo dificultades para ayudar a uno de los miembros de mi equipo a mejorar sus habilidades. ¿Podría ayudarme a descubrir algunas estrategias?" El autor tiene exactamente el mismo problema que el miembro de su equipo, solo que con un conjunto de habilidades diferente.
Extrañamente, no se ha mencionado una solución: si a John claramente se le asignó un rol inapropiado y no hay tiempo para enseñarle (ya que este proyecto es de máxima prioridad), el CTO puede verlo como una mejor solución para darle a alguien más que tiene las habilidades apropiadas (de un equipo cuyo proyecto es menos crítico). Entonces, John tendrá que ser reasignado a un puesto para el que hizo una audición, u ofrecido educación si está dispuesto, o despedido si no lo está, ya que no puede ofrecerle un trabajo apropiado (es probable que tenga protecciones legales en este caso como un paquete de indemnización obligatorio).
@noClue No estoy seguro de por qué, pero es el OP el que cambió el género del sujeto a través de una edición de preguntas (e incluso agregó un nombre sugerido, "John", muy extraño)
Oh, no. Si me asignan un especialista en literatura de la Edad Media y me dicen que lo haga desarrollar interfaces en Angular, no dependería de mí "hacer algo al respecto". Este es un error de casting del que soy la desafortunada víctima y no soy yo quien ha tomado la decisión de contratarlo. Simplemente diría "Lo conseguí por error, llévatelo y dame un desarrollador front-end". preferiblemente en Angular, pero alguien con experiencia en Vue también estaría bien, con eso puedo lidiar.
"si su empresa necesita un experto en Java, o si necesita a alguien que sea flexible", en realidad hay muy poca necesidad de empleados que no puedan funcionar en diversas tecnologías al menos de manera rudimentaria. Nadie llega a ser un buen programador en ninguna tecnología sin habilidades básicas para resolver problemas, y lo más obvio cuando se le presenta una necesidad en un contexto desconocido es encontrar algo similar (preferiblemente en el código base o si no fuera de él). él) y la cuna de eso. Si la persona no puede hacer eso, o no está motivada o no es tan buena en ningún idioma.
@DG4 ¡alimentación con cuchara! = entrenamiento. Yo diría que es lo opuesto al entrenamiento y completamente contraproducente para tus objetivos. USTED lo está reteniendo.

Pero ni siquiera conoce los conceptos básicos de HTML y CSS. Le dije que estudiara estos temas en casa de Codeacademy los fines de semana/vacaciones.

Enorme bandera roja.

Usted (o su empresa, pero como usted es el líder, es su responsabilidad) lo puso en un trabajo que necesita habilidades que él no tiene. Tienes que entrenarlo durante las horas de trabajo si se necesita entrenamiento . Si mintió sobre sus habilidades, despídelo, pero si tenía claro que solo conocía Java, entonces estás equivocado.

La solución es bastante simple: permitirle estudiar estos temas en el trabajo y no hacer nada más relacionado con el trabajo durante un período de tiempo bien pensado (dos o tres días para un ingeniero de software, tal vez más para desarrolladores menos graduados).

No tengo ningún problema en permitirle estudiar estos temas en el trabajo durante 2-3 días. Pero es mi CTO quien piensa que aprender HTML y CSS es una tarea infantil y que a todos les tomaría no más de 2 horas aprender. Me ha puesto bajo mucha presión para entregar el proyecto y no tengo más remedio que presionar a mis subordinados y terminar su trabajo rápidamente.
@ DG4 Debe descubrir cómo hacer que detenga eso o debe descubrir cómo hacer bien su trabajo incluso con el CTO haciendo eso. De lo contrario, no podrá realizar su trabajo. Estás en la misma situación que John: la combinación de tus habilidades y lo que se te pide que hagas no es razonable.
Un CTO que dice que "aprender HTML y CSS es una tarea infantil" suena como si alguien "aprendiera HTML" hace quince años cuando lo era. Ahora, la especificación HTML es como diez o más veces mayor que eso, y CSS ahora tiene unas veinte especificaciones diferentes. Sí, un buen documento de resumen/tutorial puede pasar por alto eso un poco, pero al final del día, comprender HTML y CSS lo suficientemente bien como para "usarlos con ira" es ciertamente una tarea más difícil incluso que los "2-3 días" que sugerir (!). Realmente es un problema sobre el que su CTO debe ser cuestionado. Que no es tu culpa, por supuesto...
@ DG4 He estado en su posición, así que simpatizo. Recomiendo dos cosas: 1) entrene a "John" como han dicho los demás, pero aprenda a vivir con la idea de que probablemente nunca será tan bueno, y 2) debe comenzar a presionar a su CTO. El jefe no siempre tiene la razón, y le harás un favor a tus niveles de estrés, a tu salud, a tu equipo y a tu empresa si aprendes a hacer retroceder de una manera firme pero con tacto.
"No tengo más remedio que poner a mis subordinados bajo presión" - lo siento, pero esa es una excusa poco convincente. Su trabajo como líder del equipo es resistir la presión desde arriba en tal caso; más bien, debe presionar a su CTO. Y si su CTO le dice que aprender HTML y CSS es una tarea infantil, dígale amablemente que está muy equivocado.
@FrankSchmitt +1. Una de las principales responsabilidades del líder del equipo es proteger al equipo de imposiciones irrazonables desde arriba, cuando sea factible.
Estoy totalmente de acuerdo. Pero, con todas las otras banderas rojas sobre esta empresa, imagino que el OP no tenía capacitación en liderazgo.
Si "John" no está produciendo mucho ahora de todos modos, ¿por qué crees que permitir que "él" realmente aprenda cosas haría que "él" fuera menos productivo? Eres el líder del equipo. Empieza a liderar.
@DG4 Si eres el administrador de esta persona; entonces depende de ti defenderlos y lo que necesitan. Depende de usted hacerle frente al CTO y decirle que está equivocado y que si quiere tomar los desarrolladores de back-end y hacer que hagan el trabajo de front-end, entonces la capacitación llevará tiempo. Dirigir personas no se trata solo de decirles qué hacer, sino de obtener lo que necesitan; y gestionar las expectativas de todos a su alrededor según sea necesario. El problema es que no tienes experiencia y no has visto a otros hacer esto. Pedir un día de observación de otro gerente sería mi sugerencia; para TU entrenamiento.

No reiteraré la excelente respuesta de dwizum, pero tengo algunas cosas que agregar:

Su principal problema es que no hace el trabajo de una manera lógica, sino que siempre intenta algunas permutaciones y combinaciones aleatorias para hacer que sus golpes de suerte sean un intento exitoso de hacer el trabajo.

¿Ha intentado mostrarle estrategias más efectivas para resolver problemas? (Sí, idealmente un graduado sabría cómo "trabajar lógicamente", pero las estrategias de resolución de problemas generalmente no son parte del plan de estudios formal y, a veces, no se enseñan tan bien como deberían).

Incluso le dije que buscara en Google un concepto que no conoce, pero que ni siquiera es bueno para buscar en Google.

¿Has intentado mostrarle cómo buscar en Google de manera efectiva?

También tenga en cuenta que será un desafío para un desarrollador de Java buscar problemas angulares en Google, ya que el lenguaje de programación, las herramientas de compilación y el entorno de tiempo de ejecución son totalmente diferentes. Comprender una publicación de blog aleatoria de un desarrollador de JavaScript es un desafío si no conoce las tecnologías web.

Consulta tus expectativas

He pasado los últimos dos años entrenando a equipos experimentados de Java en sus primeros proyectos angulares. En mi experiencia, solo alrededor del 20% de los desarrolladores pudieron hacer este cambio sin ayuda. Y sí, a pesar de que todos asistieron a un curso profesional sobre angular y tuvieron acceso a ayuda experimentada, el progreso en el primer proyecto angular fue lo suficientemente lento como para poner nerviosa a la gerencia.

Resumen

Sí, los desarrolladores realmente buenos pueden aprender un nuevo idioma sin ninguna ayuda, pero la mayoría de los desarrolladores necesitarán más ayuda que "necesita aprender los conceptos básicos".

No se. Mi experiencia es en programación integrada, no en desarrollo web, por lo que YMMV, pero en mi experiencia, cualquier persona que necesite tanta ayuda nunca será capaz de hacer nada más que las tareas más triviales.
@JimClay: No estoy seguro de lo que quieres decir con "mucha mano"; los dos puntos que mencioné no me parecen muy lentos? ¿Realmente contrataría a un recién graduado sin experiencia en ningún lenguaje de programación de sistemas y esperaría que aprendiera su pila de tecnología sin ningún tipo de dirección?
Lo siento, la mano a la que me refería era lo que OP ya había hecho, no lo que estás sugiriendo. Honestamente, creo que su respuesta es una buena idea para que él (?) lo haga, pero no creo que sirva de mucho porque lo más probable es que John no tenga mucho talento.
@meriton Creo que es porque parece que el empleado puede saber cómo escribir código Java pero no entiende los conceptos fundamentales de la programación. Por ejemplo, conocí a un tipo que eliminó un elemento de una matriz creando dos nuevas matrices de tamaño 1, empujando los elementos en la nueva matriz y omitiendo el que quería eliminar, y luego sacándolos y empujándolos en su último matriz para que los tuviera en el orden correcto. En Java. Que tiene un .removemétodo, creo que lo es. Algunos desarrolladores rocían y rezan sin tomarse el tiempo para entender por qué algo funciona.
Nunca dije que no existen los malos programadores, o que cada mal desarrollador se convertirá en uno excelente si recibe un poco de tutoría. Pero puede ser difícil predecir si un desarrollador apesta porque no puede aprender o porque no ha tenido la oportunidad de hacerlo. La única forma confiable de saberlo es probar la tutoría y ver si ayuda. Y sí, a veces lo hace. Incluso para conceptos básicos, o cuestiones de estilo de resolución de problemas. Y a veces no. Entonces aún puedes despedir al tipo, y nadie puede culparte por ello.
Alguien realmente empleado como desarrollador debería estar más allá del punto en el que necesita tutoría para aprender lo esencial de un nuevo lenguaje hasta el punto de poder lograr cosas básicas con el ejemplo de lo que ya existe . Si no pueden hacer eso, entonces no están motivados o no están listos para trabajar como desarrollador en ninguna capacidad. Alguien que necesita ese tipo de asistencia debe estar en un rol explícito de aprendiz , donde si desarrollará patrones de pensamiento adecuados para el trabajo sigue siendo una pregunta explícitamente abierta y aún no se esperan resultados útiles.
Diría que alguien que no puede googlear es un caso perdido o muy flojo.

Tienes que hacer tu trabajo.

Del lado del equipo, decida si es factible asesorar o no al de bajo rendimiento. Si cree que están dispuestos a aprender y son capaces de ser productivos y que el desempeño a largo plazo de su equipo es más importante que los costos a corto plazo de una tutoría, entonces decida asesorarlos e informar al equipo. Asígneles tareas que sean realistas dado su nivel de habilidad y vuelva a evaluar periódicamente para ver si la tutoría está funcionando.

Por el lado del CTO, debe informar de manera realista a su CTO sobre las capacidades de su equipo. Si trata de decirte que la tarea es fácil o cualquiera puede aprender, responde de la siguiente manera:

  1. Está gestionando el equipo de forma adecuada teniendo en cuenta los recursos disponibles. Si tiene consejos específicos sobre las formas en que podría administrar el equipo de manera adecuada, estaría feliz de escuchar.

  2. El equipo está rindiendo como está. No es hacer el trabajo más rápido de lo que es. No hay látigo mágico que puedas romper. Sus empleados tienen la productividad que tienen y no puede hacerlos más productivos por arte de magia.

  3. Explique su consejo sobre el miembro del equipo de bajo rendimiento. Explique que ha decidido que tiene más sentido comprometerse a asesorarlos aunque eso tenga un costo a corto plazo o abogar por que sean despedidos. Si cree que reemplazarlos ayudaría, explíquelo.

En última instancia, debe decirle al CTO que cree que está liderando al equipo de manera adecuada, pero que el desempeño del equipo no es suficiente para realizar las tareas solicitadas en el tiempo deseado. Ofrezca opciones útiles, como contratar a más personas, reducir el conjunto de funciones, etc. Explíquele que pedirle que produzca un mejor resultado no cambiará su evaluación de lo que su equipo es capaz de lograr de manera realista.

Hagas lo que hagas, no estés de acuerdo con sus afirmaciones de que el equipo puede producir más y luego repites el ciclo de entregar menos de lo que espera el CTO seguido de rituales haciendo promesas poco realistas de hacerlo mejor en el futuro.

+1 por informar al CTO al respecto. Como un nuevo supervisor que ni siquiera tomó la decisión de contratar a John, no necesita ocultarle a su propio jefe el problema que tiene con él. También +1 por detener el ciclo de promesas ritualistas poco realistas.

Los otros comentaristas tienen razón: es su responsabilidad asegurarse de que este desarrollador pueda desarrollar en Angular (porque se les asignó esta tarea sabiendo que su experiencia es en Java).

Incluso tengo que resolver el 90-95% de sus tareas por mi cuenta y luego aprende

NO resuelva las tareas asignadas a esta persona por ella; está obstaculizando su proceso de aprendizaje. Si no pueden manejar la carga de trabajo y finalmente está completando tareas para ellos, ANTES de mencionarlo con su CTO, le sugiero que:

  1. dales un tutorial básico sobre Angular (tal vez concéntrate en las cosas que usarás)
  2. Reduzca la cantidad de tareas que se les asignan (cualquier carga de trabajo que tengan actualmente suena demasiado en este momento )
  3. No resuelvas sus tareas por ellos, bríndales retroalimentación para que puedan regresar y corregir los errores/hacer el trabajo (ellos entenderán el flujo de su código mejor que tú)
  4. introduzca codificación dual/sombreado/revisión de código entre sus desarrolladores para que aprendan unos de otros (menos interferencia de su parte)

Como alguien que está en una posición similar, estos pasos (especialmente 3 y 4) han sido útiles para que ese empleado sea más fuerte en un área en la que no se sentía cómodo al principio. En lugar de echarle la culpa al empleado con "bajo rendimiento", debe preguntar por qué se le asignó este proyecto dados sus antecedentes o si en algún momento sabía que su trabajo requería que aprendiera un entorno completamente nuevo.

Esta es una respuesta bastante fantástica. La forma en que aprendemos mejor es esforzándonos, fallando y, finalmente, triunfando. Si no luchamos, entonces ya sabíamos lo que estábamos haciendo o sabíamos algo parecido a lo que estábamos haciendo y podíamos transferir ese conocimiento.
Él es el líder del equipo, no el profesor del equipo....
@RuiFRibeiro estuvo de acuerdo. Tal vez pueda señalar al empleado en la dirección correcta (mencionando tutoriales específicos o enfatizando ciertos conceptos). También podría ser útil tener algún tipo de página de control de calidad entre todos los miembros del equipo para una referencia posterior. De esta manera, los demás miembros del equipo también se fortalecerán, ya que explicar un concepto te ayuda a comprenderlo mejor.

Como líder de un equipo, se espera cierta cantidad de gestión del desempeño del resto del equipo.

Parece que hasta ahora has hecho una cantidad mínima de eso, principalmente diciéndoles que estudien en casa o que lo busquen en Google. Y hasta ahora eso no ha sido particularmente exitoso, probablemente porque son enfoques bastante inútiles para ayudar a un nuevo miembro del equipo de nivel de entrada a comenzar.

Estoy pensando que la única solución que me queda es contarle al CTO sobre esa chica y sus hábitos de hacer el trabajo con estimaciones para que pueda decidir si está lista para trabajar o no.

En última instancia, podría llegar a eso, pero si yo estuviera en el lugar de su CTO, buscaría que asumiera un papel más proactivo para tratar de resolver el problema antes de que me lo presentara.

Lleve a un lado al miembro del equipo con dificultades y tenga una conversación con él, vea si puede a) llegar a la raíz del problema y b) trabajar para mejorarlo.

No es necesario que te hagas grande, chillón y agresivo: un buen líder de equipo debe facilitar el trabajo y no gobernar con puño de hierro.

Parece que estás luchando con algunos de los elementos en los que estamos trabajando en este momento, ¿cómo puedo ayudarte? ¿ Puedes decirme por qué estás luchando? ¿Hay algo en particular en lo que sientas que necesitas ayuda?

Es de esperar que luego pueda trabajar con el miembro del equipo para mejorar las cosas, pero en última instancia, es posible que simplemente no funcione. Entonces puede considerar hablar con el CTO y decir algo como:

[Miembro del equipo] está realmente luchando por comprender algunos elementos clave del trabajo. He hablado con ellos y hemos hecho X, Y y Z para tratar de mejorar la situación, pero en realidad no ha ayudado y me preocupa que esté afectando la capacidad de entregar el trabajo de nuestro equipo.

Como ya han señalado otros, sus problemas se reducen al hecho de que no se le permite brindar la capacitación adecuada a sus empleados. Debería idear una manera de mostrar a sus superiores que la falta de capacitación ha costado más horas de las que les hubiera llevado capacitarlos . En otras palabras, que no capacitarlos adecuadamente perjudica a la empresa.

No hagas el trabajo de tus subordinados por ellos. Si algo no se hace, asigne la tarea a otra persona. De esta manera, debería ser evidente cuántas tareas realizan las personas en un período de tiempo determinado. Ahora puede aproximar las horas de trabajo perdidas debido a las diferencias de habilidades.

Además de la introducción técnica básica, podría sugerir el uso de la programación en parejas para ayudar con las diferencias de habilidades. Esto también funcionaría como medida de control de calidad, en caso de que necesite argumentos adicionales para vender esta idea a su CTO.

Notas al margen: Tuve que aprender nuevas tecnologías en mi lugar de trabajo anterior, incluidos dos lenguajes de programación completamente diferentes. Aunque los jefes eran unos imbéciles cuando se trataba de gastar dinero, dedicaron recursos para aprender estos lenguajes, incluidos libros electrónicos y dándonos tiempo para implementar grandes aplicaciones de tutoriales en el trabajo.

Estúpida analogía: no contratarías camioneros y les pedirías que aprendan a conducir trenes en su tiempo libre.

Aquí está su problema: su equipo no es capaz de hacer el trabajo que se supone que debe hacer en el tiempo que se le permite. Que uno de tus compañeros tenga un bajo rendimiento es secundario. Es un problema para ellos, puede llevarlos a perder su trabajo en el peor de los casos, pero su problema es que el trabajo no se está haciendo.

Hay dos soluciones a su problema: mejorar el trabajo de su equipo o dejar en claro a la gerencia que su equipo no es capaz de cumplir y que no es su culpa. Deberías trabajar en ambos.

Para el primero, hablas con ese compañero, le dices que el equipo está en peligro, y por lo tanto él está en peligro, y su trabajo necesita mejorar. Mejorar solo se puede hacer aprendiendo. Deles tiempo en el trabajo para aprender (es más eficiente para ellos aprender que hacer un trabajo de calidad inferior que necesita ser rehecho). Dígales que pidan ayuda de inmediato si no saben cómo continuar, porque 5 minutos de ayuda pueden dejar de perder dos horas de trabajo.

Para el segundo, dígale a su gerente que este colega no está a la altura. Dígales qué medidas está tomando para mejorar las cosas. Dígales que con empleados competentes haría sus tareas (si eso es realmente cierto), pero actualmente no tiene esto y le llevará tiempo llegar allí. Si alguien piensa que solo toma horas aprender CSS, por ejemplo, puede decirle que está en desacuerdo respetuosamente, y no importa si está de acuerdo o en desacuerdo, tiene un empleado que no lo está aprendiendo en horas .

Puede sugerir reemplazar a la persona en el equipo, lo que realmente no está manejando su problema.

No estoy de acuerdo con algunas de las respuestas enumeradas anteriormente, específicamente con la expectativa de que John aprenda Angular/CSS/HTML en el tiempo de la empresa.

En concreto, el campo de la Tecnología es un campo muy amplio, y es un campo que está en constante cambio. Angular surgió en 2010. He sido ingeniero web desde 2003. Cuando comencé, Angular no existía. ¿Por qué sigo siendo relevante en mi campo? Porque hice mi propia prioridad mantenerme al día con las noticias de la industria y mantener las habilidades actuales en áreas relevantes.

No creo que siempre deba ser 100% necesario aprender cualquier habilidad nueva para trabajar en el tiempo de la empresa, y no creo que la empresa esté obligada a darte ese tiempo para aprender. Si desea mantenerse al día, si desea mantenerse al día, si desea mantenerse relevante y, a veces, si desea mantener su trabajo, debe verificarse a sí mismo y su conjunto de habilidades y el trabajo que tiene y asegurarse de que son un partido.

Comencé jugando con el diseño de sitios web para mamás y papás de Podunk, y ahora estoy trabajando en un equipo de inteligencia artificial en el que contribuí en gran medida a la dirección y el desarrollo de su pila de tecnología, administrando un entorno de AWS que no existía. cuando empecé.

No conseguí ese trabajo diciéndole a mi empresa que necesitaban darme tiempo para aprender esas habilidades mientras estaba en el trabajo.

A los buenos desarrolladores y, lo que es más importante, a los buenos ingenieros les apasiona dominar su oficio y entienden que eso significa que más de las 40 horas a la semana que trabajan necesitan estar más inmersos en la tecnología que deben usar día a día.

Esa es la conversación que tendría con John, y si él no expresaba interés o no intentaba mejorar, no le ofrecía una transferencia, lo despediría. Los desarrolladores sin pasión por crecer por su cuenta nunca serán más de lo que eran cuando los contrató.

No querer dedicar 120 horas a la semana a 1 campo raya más en el sentido común que en la falta de pasión. Esta mentalidad no ayuda a los empleados. Si eres tan dedicado e increíble en tu trabajo, te deberían pagar más. Si no lo es pero cumple con los requisitos del trabajo, eso es completamente normal y comprensible en mi opinión. Realmente me desagrada esta mentalidad. Crea una cultura en la que la única forma de ser aceptado es vivir y respirar tu trabajo todos los días. Apesta, y no vale la pena. La vida ofrece muchas otras cosas, y explorarla no debe verse como algo sin pasión.

1) Su gente de recursos humanos / contratación está perdiendo la pelota si contratan personas que ni siquiera cumplen con los requisitos mínimos de habilidades para el trabajo. IE: si necesita saber HTML, Angular, etc., entonces la descripción de su trabajo debería haberlo dicho. Si lo contrataron sin esas habilidades, significa que la descripción de su trabajo era mala (que está en la persona técnica de su departamento que les decía qué habilidades se necesitaban) o en ellos (contratar a alguien sin ser estricto con las habilidades). necesario... algunas personas no tecnológicas de recursos humanos piensan "oh, este tipo es un programador que puede programar cualquier cosa"... y contratan a una persona que sabe SQL para hacer el trabajo de Java... .). De todos modos, hable con Recursos Humanos y pídales que actúen juntos.

2) Los recién graduados son impredecibles. La mayoría busca aprender en el trabajo en su primer trabajo y luego abandonar el barco después de un año de "experiencia" para conseguir un mejor trabajo (b/c cuando se gradúan de la universidad por primera vez, se trata de qué tan rápido pueden obtener más dinero... b/c los préstamos estudiantiles no se pagarán por sí mismos, y vivir al día en la universidad los ha motivado a ganar dinero).

Realmente tiene que evaluar el potencial a largo plazo del graduado para ver si vale la pena entrenarlo en el trabajo (y SERA entrenamiento en el trabajo, como han señalado otros... programadores realmente motivados harán cosas en su propio tiempo para aprender y estar al tanto de las tendencias... pero en última instancia estamos hablando de un trabajo aquí, y la gente quiere una compensación por las habilidades que aprenden y el trabajo que hacen).

Una vez más, la gente de recursos humanos debería haber evaluado la viabilidad a largo plazo de la persona con preguntas BS como "¿dónde te ves en 5 años?"

Pero, solo debe tener una conversación sincera con el candidato. Si parecen humildes y realmente motivados para querer hacer un buen trabajo y complacerlo... entonces necesita capacitarlos y ponerlos al día... b/c es muy probable que se queden a largo plazo y se conviertan en valioso activo.

Si actúan engreídos o distantes o no parece importarles que se están quedando atrás... van a abandonar el barco rápidamente. Eres solo un trampolín para que lo usen mientras se dirigen a otro lugar.

Entonces, simplemente siéntate con ellos para conversar media hora o una hora en tu oficina y pregúntales "¿a dónde crees que va este trabajo?" "dónde te ves en 5 años" etc, etc, etc... mira lo que están pensando. Ellos ya saben lo que estás pensando (estás pensando que necesitas a alguien que pueda producir en este momento).

Pero, los programadores son trabajadores del conocimiento de alto nivel. No es como el trabajo de excavación de zanjas, donde un buen excavador de zanjas es un 1,05 % mejor que el promedio. Un buen programador puede ser muchas veces más productivo que un programador promedio. Si este nuevo graduado tiene la materia prima para ser un buen programador (rápido para aprender, motivado para trabajar, buenas habilidades para resolver problemas... no importa qué lenguajes sepa si no tiene un impulso de causa raíz para hacer tipo de trabajo de programación).. entonces son un diamante en bruto esperando ser pulido.

La mayor preocupación es que está atrapado con un programador que vino de CS o IS porque entraron en los programas de grado por el dinero, no por la pasión. Estoy en un programa MIS en la universidad en este momento con un 90 % de estudiantes indios... alrededor de 2/3 de ellos NO quieren estar allí, pero están allí porque su familia los empujó a hacerlo. No les importa la programación, la gestión de datos, los sistemas de información, los análisis... es solo un trabajo para ellos y hacen lo mínimo para sobrevivir en clase (a veces engañando a otros) y solo quieren salir al mundo laboral. y seguir con la vida y ganar dinero. Solo va a ser un trabajo para ellos. Hablo con algunos, y no dudan en decir cómo preferirían estar en el arte, la literatura o las ciencias sociales, pero su familia los empujó a una carrera de alto nivel (generadores de dinero STEM... medicina, tecnología,

Por lo tanto, debe evaluar si su chico está haciendo un trabajo que le apasiona, o si es solo una forma de ganar dinero.

Probablemente haya interactuado con los otros miembros del equipo. Obtenga su evaluación... su evaluación social... ya saben que le faltan habilidades. PERO, si sienten que es un jugador de equipo, solucionador de problemas, etc., entonces tiene potencial.

EG: A veces está bien tener un "programador holgazán" en el grupo si es un gran solucionador de problemas que hace que los demás piensen diferente. Las otras personas compartirán ideas con ellos, y el "vago" puede darles buenas ideas con las que trabajar y producir un trabajo excelente. Pero, sin ese "vago", los otros programadores son solo máquinas de codificación sin buenas ideas para codificar. Cualquiera puede generar código. No significa que sea bueno. No significa que esté resolviendo un problema de una manera elegante o innovadora. La persona más holgazana puede tener ideas increíbles, solo que carece de las habilidades de codificación y la velocidad para implementarlas. Una persona "floja" también puede ser un estímulo moral para el resto del equipo si es agradable y trabaja bien con los demás. No todos los programadores pueden ser estrellas de rock lanzando código como cajas en una fábrica.

Entonces, le daría al tipo una evaluación social para ver si vale la pena perder el tiempo de la compañía para entrenar. Si no está motivado, no es un jugador de equipo y no le importa... evítelo y contrate a otro. No tiene sentido capacitar a alguien solo para verlo tomar todo lo que le diste a un trabajo diferente de 6 meses a 1 año después.

Lo que está tratando de hacer demuestra que no comprende la diferencia en el conjunto de habilidades de su personal y lo que se necesita.

Un desarrollador de Java, si no tiene experiencia en desarrollo web, no comprende el lado del cliente y el lado del servidor de las cosas.

El paradigma es diferente a un Java independiente. Incluso si ha trabajado en applets de Java, eso sigue siendo programación dentro de una VM autónoma, no una en la que un cliente habla con un servidor.

Por ejemplo, cualquier tipo de verificación de errores en el lado del cliente es superficial y simplemente se usa para reducir las visitas al servidor. NO se supone que se debe confiar en él, porque omitir la validación del lado del cliente es absolutamente trivial . Algo así como un "nombre de usuario", las comprobaciones básicas del lado del cliente no estarán en blanco y eso es todo, tal vez agregue alguna combinación de requisitos alfanuméricos, pero incluso podría no funcionar debido a la necesidad de admitir diferentes idiomas.

En el lado del servidor, verificaré que no esté en blanco, y también cualquier tipo de datos que no pueda manejar (fuera de UTF-8, por ejemplo), luego también verificaré los ataques de inyección SQL (las declaraciones preparadas resolverán eso, pero quiero detectarlo y posiblemente poner la IP en una lista negra), y probablemente registrar los intentos repetidos de tráfico de gran volumen para evitar el acceso malicioso (piratería, creación masiva de nombres de usuario, usurpación de nombres de usuario, etc.). Todas esas opciones son solo del lado del servidor.

Luego, también querrá pensar en cómo se comunica el cliente con el servidor y si será apropiado ingresar a AJAX para una mejor experiencia de usuario. Todo este conocimiento no es trivial y un CTO es bastante tonto si espera que un personal pueda aprender todo esto en un par de meses.

Creo que te estás perdiendo las partes clave de lo que significa ser un líder de equipo. Ser mentor de los miembros de su equipo para que mejoren es parte de su trabajo. Darles el apoyo para tener éxito es parte de su trabajo.

Por ejemplo, dele a su miembro junior del equipo un ejercicio de entrenamiento para que lo aprenda. Dale lo que creas que es la cantidad de tiempo adecuada, o mejor aún, pregúntale cuánto tiempo necesita. Si el CTO tiene un problema con eso, defiéndelo. El equipo cuenta contigo para protegerlos y guiarlos.

Además, el poder no está en mis manos para simplemente asignarles la tarea de capacitación o la tarea del proyecto real. Hago lo que mi CTO me dijo que hiciera y cada vez que he tomado la decisión de brindarles capacitación por mi cuenta, el CTO me dice siempre: "aprender HTML, CSS, JavaScript no es algo para lo que tengan que dedicar meses". Enséñales los conceptos básicos en 4 horas y dales un día para hacer una tarea simple y luego estarán listos para el proyecto. Descansen, aprenderán mientras hacen el proyecto. No tenemos mucho tiempo para dedicar a su capacitación. ."

No compro esto. Si eres su líder, tienes absolutamente el poder de ayudarlos a tener éxito. Si su CTO le dice que haga lo contrario, entonces ese es un problema entre usted y su CTO. Deje a su miembro del equipo fuera de esto. Tu trabajo es ayudarlo. Educa a tu CTO. Tienes que enfrentarte a él. Es por eso que te pagan mucho dinero ahora.

A veces los gerentes se equivocan. A veces los gerentes tienen expectativas poco realistas. Especialmente los CTO. Los CTO quieren todo, lo quieren ahora, lo quieren perfecto y quieren que no cueste nada. Confían en usted para que les explique cómo funciona realmente.

Debe mostrarle a su CTO la compensación entre darle a este empleado el tiempo necesario para aprender, que es:

  1. Menos tiempo disponible para crear características ahora, pero más capacidad más adelante.
  2. Ahora hay más tiempo disponible, pero no se hará a tiempo ni con la calidad correcta.

Todo se reduce a la previsibilidad y la velocidad. No solo a nivel individual, sino a nivel de equipo. Si cada miembro del equipo tiene que seguir ayudando a este individuo porque no sabe cómo hacer su trabajo, entonces el golpe de productividad es de todos.

Mostrar los hechos a su CTO de esta manera 1) lo persuadirá 2) demostrará su competencia, por lo que es probable que retrocedan y lo dejen hacer las cosas a su manera.

En mi opinión, el momento de involucrar a su CTO en una decisión de personal sobre el desempeño de este empleado es si ha agotado sus esfuerzos y cree que esta persona nunca tendrá éxito en su equipo. Debería ser un último recurso. No querrás que los otros miembros de tu equipo se preocupen constantemente de que los arrojarás debajo del autobús cuando algo salga mal. Necesitas proteger a tu equipo. Despedir o escalar a su jefe, que probablemente sea lo mismo, debería ser el último recurso absoluto.

Dar oportunidades a John, proponer incluso formación remunerada si es necesario, pero dejar que fracase llegado el momento.

Parece que hay aquí varias cosas muy malas:

  • Está permitiendo que alguien permanezca en su equipo, que no está calificado para estar allí.
  • Esa persona está robando el lugar de otra persona que podría ser un miembro productivo;
  • Estás dañando tu propio trabajo tomándote el tiempo para hacer el trabajo de John
  • Estás bajando la moral del equipo: si John no necesita actuar, ¿por qué deberían hacerlo ellos?
  • Está construyendo un rastro de trabajo probado para que sea más difícil despedir a John en el presente y en el futuro.

No buscas tus propios intereses a corto plazo haciendo el trabajo de John, y mucho menos a los objetivos de tu equipo a largo plazo.

Si yo fuera un subordinado suyo, no esperaría que hiciera mi trabajo, pero esperaría que tratara con los jefes y se deshiciera de un miembro del equipo que no puede contribuir.

A corto plazo, ya que tienes a esa persona, puedes asignar a John parcialmente para ayudar con la documentación y otra parte del día/semana para estudiar durante las horas de trabajo.

También definiría plazos y objetivos. Una contratación de aprendiz/universidad tiene que hacer un esfuerzo honesto en los primeros meses y mostrar interés y algo de ingenio, para ser mínimamente competente después de seis meses y mínimamente productivo para el equipo alrededor de 9-12 meses. Por lo general, las personas también serán moderadamente competentes en un nuevo entorno/trabajo, dependiendo de la complejidad, después de 1 año a 1 año y medio, como máximo dos años. Tu CTO debería saberlo, o lo más probable es que lo sepa pero solo quiere que aproveches al máximo el equipo que tiene en sus manos. Los factores de costo podrían influir en eso.

PD. En el pasado vi a personas en el lugar de John, que después de 2 años de ser "ayudados" se quejaban de que ya era hora de que consiguieran un ascenso... uno de los casos tenía veintitantos años y se quejaba de no tener un aumentar en los tiempos que no estaba durmiendo en el trabajo, por ejemplo, cuando estaba despierto.

Volviendo al caso específico de John, trataría de asegurarme de entender si el esfuerzo es genuino, o si todavía cree que puede salirse con la suya fingiendo trabajo como si todavía estuviera en la universidad. Podría suceder que John no sea lo suficientemente maduro para comprender que ahora está en el mundo real, y eso podría explicar el desempeño irregular del que hablas.

Ponlo en un Plan de Mejora Personal.

En pocas palabras, no está trabajando al nivel que se espera de su posición y está empeorando activamente las cosas para los otros miembros del equipo, ya que tienen que dedicar tiempo a ayudarlo y corregir sus errores.

Como tal, el mejor curso de acción es hablar con RR. HH. para incluirlo en un Plan de mejora personal, que enumera los requisitos mínimos de desempeño para su puesto y requiere que los cumpla en una fecha determinada para conservar su puesto en la empresa.

O cumple con los requisitos para la fecha, en cuyo caso el problema se ha solucionado, o no los cumple y lo despides, en cuyo caso el problema se ha solucionado.