it-swarm-es.com

¿Qué rasgos tienen en común los mejores gerentes para los que ha trabajado?

He estado escuchando el podcast de Scott Hanselman y Rob Conery, This Developer's Life .

En el último episodio, discuten los rasgos de personalidad:

1.0.4 - Ser malo.

¿Qué hace que la gente se refiera a nuestra industria? ¿Y agresivo? ¿Confidente? ¿Cual es la diferencia? ¿Preferiría tener un sargento de instrucción como jefe o un maestro zen? Hablamos con Cyra Richardson y Giles Bowkett.

Me hizo pensar, ¿qué rasgos tenían en común los mejores gerentes por los que usted trabajó?

EDITAR: Solo para aclarar, ya que ha habido algunas votaciones cercanas, me interesa si hay rasgos comunes a los gerentes de desarrolladores que no son necesariamente los rasgos que requiere un gerente de alguna otra profesión.

En cuanto a si esto está relacionado con la programación o no, bueno, no quiero hacer esta pregunta en un sitio que no se trata de programación porque, francamente, no estoy tan interesado en lo que hacen las personas que hacen latas de sopa para ganarse la vida. quiero de sus gerentes ya que estoy interesado en lo que los desarrolladores quieren de sus gerentes.

24
Paddyslacker

En mi experiencia, ha sido una combinación de lo siguiente:

  1. Mide por resultados/productos, en lugar de insumos.
  2. Líder motivador e inspirador que puede respetar y admirar.
  3. Sensible a las necesidades de los miembros del equipo: apoyo/formación/carrera, etc.
  4. Resuelve conflictos rápidamente, difumina situaciones difíciles.
  5. Entiende su trabajo: es posible que puedan hacer su trabajo, pero lo contrataron para hacerlo.
  6. Maneja/filtra las cosas que no son importantes o perjudican la productividad de los equipos.
10
JBRWilkinson

Joel Spolsky lo llama " Capa de abstracción ". Haz lo que sea necesario para mantenerme programando. Déjame saber qué está pasando en la empresa, pero mantenme fuera de la política. Aunque todavía tengo que hacerlo, al menos reconozco que la solicitud es una tontería.

34
JeffO

Alguien que peleará batallas políticas por mí y eliminará los obstáculos que me impiden hacer las cosas

Período.

29
Ryan Hayes

Estar dispuesto a escuchar a las personas que trabajan para ellos.

He tenido gerentes muy inclinados a la técnica, y he tenido algunos que ni siquiera sabían acerca de la multitarea ("¡oh, guau! ¿Dónde aprendiste ese truco Alt-Tab?"), Pero lo que todos De hecho, disfruté trabajar porque tenían en común que sabían que no sabían todo y estaban dispuestos a escuchar cuando aquellos de nosotros que estábamos haciendo el trabajo que se suponía que debían estar manejando, presentamos ideas, problemas o sugerencias sobre ese trabajo.

22
Mason Wheeler

Protege a su equipo y asume sus responsabilidades

Uno de su equipo bloquea un servidor con datos de producción. Su gerente asumirá toda la responsabilidad. Eventualmente se negará a decirle a su gerente superior quién cometió el error y se parará frente a sus hombres.

17
user2567

Se administran en función de los objetivos, no del tiempo, y se preocupan principalmente de que yo logre esos objetivos

En lugar de preocuparse por cuánto tiempo estoy sentado en mi escritorio, ellos se preocupan por lo que necesito para lograr una tarea determinada. Si esto significa eliminar obstáculos u obstáculos, o permitirme trabajar largas horas o fines de semana, están dispuestos a sacrificar el tiempo. Si hago el trabajo antes de lo programado y necesito algo de tiempo para las citas con el médico o las actividades familiares, son flexibles y comprensivos.

Ciertamente quiero ser responsable en el trabajo, pero debería ser por lo que logro, no por la cantidad de tiempo que paso en mi escritorio.

14
bedwyr

Mantenme fuera de las reuniones en las que no necesito estar. Si los gerentes pudieran hacer esto, serían infinitamente más valiosos.

13
Jaco Pretorius

Reconocimiento de que estoy contratado y pagado para tomar decisiones.

12
C. Ross

Te apoyan cuando dices NO

Uno de los rasgos más desmotivadores de un gerente es la falta de valor para defender a su gente y siempre inclinarse frente a su propio jefe, incluso si eso significa afectar el producto o el equipo.

10
Sergio Acosta

Reconocimiento de que estoy contratado y pagado para tomar decisiones.

No soy un empleado de servicio de alimentos de $ 7/hora. Estoy aquí para tomar decisiones. Si me dicen todos los detalles de lo que tengo que hacer, bien podría ser un mecanógrafo.

5
C. Ross

no grites por favor ... simplemente no lo hagas. (no importa lo estresado que esté por la gran fecha límite, los estúpidos probadores, etc.)

5
Morgan Herlocker

Alguien que simplemente me deja hacer mi trabajo.

5
user1842

Comprender en qué consiste la programación. Te sorprendería saber cuántos gerentes no saben nada sobre el tema.

5
Jeremy

Confían en su gente para hacer el trabajo y no tratan de "arrear gatos".

Dé a su gente espacio para cometer errores (obviamente no grandes) y aprenda de ellos.

4
grok

(Profundo) Empatía Habilidad.

4
Klaim

Tengo que abordar esto desde la perspectiva de los peores jefes para los que he trabajado; uno bueno NO tendría estas cualidades:

Incapacidad para tomar una decisión, pero lo peor con lo que me he enfrentado fue con un jefe que cambiaba de opinión cada vez que alguien hablaba con él. Cambiamos de dirección 4-5 veces al día en un proyecto de tres años.

Roba el crédito por las cosas que hacen los miembros del equipo. Una vez, mi jefe recibió un gran premio que dieron públicamente. Todo lo que mencionaron que hizo, de hecho lo hice yo. No hace falta decir que esto es desmotivador en extremo.

Entra en pánico cuando las cosas no van bien. Peor aún cuando el pánico hace que se vuelva desagradable. En realidad, eso no ayuda a hacer las cosas.

Apuñala por la espalda a su propia gente. Él recibe el crédito, nosotros tenemos la culpa. Y no nos apoya en la cadena de mando cuando debería.

No comprende el proceso de desarrollo de software y ni siquiera le importa aprender lo suficiente como para saber que estamos usando C # (u otro lenguaje de su elección). Piensa que todo se puede hacer en un corto período de tiempo y que un simple cambio en el exterior de una página User_interface significa que su implementación no llevará mucho tiempo. El tipo de persona que se sienta en un cambio hasta el día antes de la fecha límite y luego dice, "Oh, por cierto, tenemos que hacer ..." y lo que pide es algo que cambia la arquitectura fundamental.

Micrgestiona o no gestiona en absoluto. Ambos son igualmente malos. He tenido demasiados jefes que no sabían que había un problema con un empleado hasta que era demasiado tarde y todos los demás tenían que pagar el precio para arreglar el desastre. También tuve jefes a los que tuve que decirles que dejaran de molestarme cada cinco minutos o nunca se haría.

Es políticamente ingenuo. Si a tu jefe no le va bien políticamente con las personas que están por encima de él, tendrás problemas para conseguir a las personas que necesitas, tendrás los peores espacios y estás en el grupo con más probabilidades de perder tu trabajo en un despido o porque es una manera fácil de deshacerse de él. Los jefes deben ser buenos en la política de oficina.

Alguien que piensa que puede reducir las horas de un proyecto a la mitad (porque al cliente no le gustará ese número) y podremos hacerlo en ese tiempo sin el correspondiente cambio de requisitos.

4
HLGEM

Crédito donde corresponde el crédito y conocimientos suficientes para poder asignarlo

Hubiera agregado escuchas bien, pero lo hubiera votado a favor.

  1. Si hay alguien que constantemente se atribuye el mérito de las funciones que se encuentran en las bibliotecas, ya sea desarrolladas internamente, de código abierto o de terceros, entonces eso debería ser rechazado, no recompensado.
  2. Si a alguien se le asignan todas las responsabilidades de errores porque en realidad está escribiendo pruebas unitarias y las encuentra, entonces debe ser recompensado, no castigado. Encontrar errores no es lo mismo que escribirlos en primer lugar.
  3. Si un desarrollador o un grupo de desarrolladores se burlan para cumplir con los plazos, deberían ser elogiados, no a los gerentes, por establecer los plazos en primer lugar.
4
wheaties

He tenido buenos y malos gerentes. Estos son algunos de los rasgos que he notado en los malos gerentes:

Sal del camino para que puedas hacer tu trabajo

Un buen administrador se asegurará de que tenga el equipo adecuado para escribir código.

Micro gestiona los detalles incorrectos

Este tipo de administrador lo criticará por no adjuntar una firma a su correo electrónico mientras ignora el trabajo adicional que hizo antes de ese correo electrónico.

No tiene interés en el proceso de desarrollo.

Esta es realmente una mala señal para un gerente a cargo de los desarrolladores de software. No le importa investigar otros enfoques de desarrollo, no sabrá qué número de versión debería ser la próxima versión del software, no leerá blogs como Joel on Software ni nada relacionado con la gestión de desarrolladores, como Peopleware.

Piensa que está ahí para que yo le informe

Este tipo de gerente se divierte con que la gente le informe sobre todo.

Asigna mal el tiempo

Dado un mes para entregar un proyecto de desarrollo de principio a fin, este gerente asignará 3/4 del mes al equipo de diseño y requisitos para generar 1000 documentos de Word de línea y esperará que el equipo de desarrollo lo implemente todo en una semana. También repetirá los requisitos hasta que sean 'perfectos', agregando una gran cantidad de detalles hasta que el documento se vuelva inutilizable. Pero luego, más adelante en el proceso de desarrollo, encontrará errores en la documentación de diseño y requisitos y se dará cuenta de que el énfasis en tratar de escribir el documento perfecto fue un error.

3
sashang

Alguien que escucha bien

y

Alguien que se asegura de hablar conmigo al menos una vez por semana

3
wheaties

Alguien que tiene claro lo que hay que hacer, me permite trabajar en los detalles técnicos, proporciona contexto cuando es necesario y no cambia los requisitos cuando estoy a más de la mitad del camino.

2
thursdaysgeek

Quiero a alguien que sea capaz (y tenga el coraje de) de reconocer y deshacerse de la madera muerta. Estas personas están dañando el producto y ralentizando la finalización, ¡sáquenlos de mi camino! Demasiados gerentes no pueden reconocer quién es un mal desarrollador (o piensan que el que tiene el escritorio desordenado es malo o el tipo que parece estar comenzando mucho en el espacio a pesar de que en realidad puede ser el desarrollador más inteligente o más productivo) o no quiero tener que ser el que le diga a alguien que lo están soltando y así dejar que la madera muerta se quede año tras año causando daño y descontento entre los competentes.

No quiero que un gerente me avergüence que ni siquiera sabe qué lenguajes o backend de base de datos u otras herramientas críticas que usamos. ¡Uno me preguntó (frente al cliente) en qué idioma programamos después de estar involucrado en el proyecto durante 3 años! No espero que las personas que han estado en la administración durante mucho tiempo todavía estén al día sobre el cómo de todo, pero al menos deberían saber qué estamos usando. Y deberían ser lo suficientemente inteligentes como para no preguntar cosas así delante de otros si no lo hacen.

Quiero un gerente que tenga coraje. No acepte esa fecha límite poco realista sin retroceder, no permita que la gente intimide a sus empleados o permita que los desarrolladores de rouge sigan su camino sin que se les quede corto. No deje de decirme si estoy haciendo algo mal porque tiene miedo de que me enoje. Los gerentes existen en parte para manejar las malas noticias, quiero uno que pueda.

Quiero un gerente que entienda que tengo una vida hogareña, que entienda que los desarrolladores agotados cometen errores y se tarda más en hacer un proyecto trabajando 60 horas a la semana que 40.

Sobre todo, quiero un gerente que reconozca el buen trabajo y que me agradezca verbalmente tanto a mí en persona como a sus jefes. ¡Aunque realmente odio cuando piensan que el mal trabajo es un buen trabajo y recompensan a las personas equivocadas!

2
HLGEM

Dos cosas:

1) Es (o fue bastante recientemente) un desarrollador.
2) Administra ¡hacia arriba así como ¡hacia abajo.

El punto 1 le dará, como desarrollador, un gerente que realmente ¡entiende en qué consiste y en qué consiste su trabajo, y ¡entiende lo que necesita (y también = ¡no necesita) hacer su trabajo lo mejor que pueda. Si no es un desarrollador ¡ahora (y realmente no debería ser un desarrollador práctico ahora, ya que es un administrador, y ese es un trabajo de tiempo completo en sí mismo), debería haber experiencia previa en desarrollo, pero debería ser ¡bastante recientemente (es decir, en los últimos años) para que al menos estén familiarizados con los lenguajes, herramientas, métodos y técnicas de desarrollo modernos.

El punto 2 le dará un gerente que acepta sus responsabilidades, protege a su equipo de la política de la oficina y las distracciones innecesarias y lucha para que su equipo esté ¡proporcionado con las cosas que necesitan (habilitando así el punto 1) y puede gestionar las expectativas de la empresa y de los que están por encima de él (esto es aún más importante en una gran corporación donde existen muchos niveles y capas de gestión entre usted (el desarrollador) y los responsables de la toma de decisiones empresariales (alta dirección)).

En pocas palabras, tener el rasgo (1) te da un gerente que entiende lo que necesitas para hacer tu trabajo, y tener el rasgo (2) te da un gerente que proporcionará lo que necesita.

Charla en Yale de Joel Spolsky (y el artículo relacionado " Command and Conquer and the Herd Of Coconuts ") lo expresa de manera muy sucinta:

Al hablar de la (mala) gestión en Juno:

"Se suponía que los gerentes existían para decirle a la gente qué hacer".

Al hablar de la administración (generalmente buena) en Microsoft:

"Los gerentes existen para quitar los muebles del camino para que el verdadero talento pueda hacer un trabajo brillante".

2
CraigTP

Creo que las dos características más importantes son una comprensión básica de los principios de gestión y ser "uno de nosotros". Desafortunadamente, los dos no suelen ocurrir juntos con demasiada frecuencia, pero cuando lo hacen, ha encontrado una buena persona para la que trabajar.

Donde trabajo, nuestro director de proyectos es un antiguo desarrollador. Es bueno para priorizar y dirigir el trabajo, lo que un gerente necesita saber, pero también tiene una idea bastante clara de lo que está sucediendo cuando necesito hacer una pregunta sobre cómo implementar algo que requiere una visión a nivel gerencial de él. y aportes técnicos de mi parte.

El jefe también tiene estas dos habilidades. En realidad, es un desarrollador actual, que ocasionalmente trabaja en el código base y realiza confirmaciones, cuando otras responsabilidades no lo alejan de él. Se asegura de que tengamos un buen entorno de trabajo, porque sabe intuitivamente cómo es un buen entorno de trabajo para nosotros: ¡son las condiciones en las que él querría trabajar!

2
Mason Wheeler

Lucha por mi. No debería tener que meterme en eso con TI. Me da las herramientas que necesito. Comunica la política de la empresa hacia abajo. Toma decisiones cuando se le pide y permanece fuera cuando no.

Descargo de responsabilidad: anteriormente he desempeñado funciones de gestión, pero actualmente no. A partir de eso, definitivamente puedo decir que también puede ser bastante difícil estar del otro lado de la mesa.

2
Bill Leeper

La amabilidad sería algo que pondría allí. No me gusta tener una sensación de pavor si mi jefe decide visitar mi cubículo cada vez. Mi desempeño puede ser un poco mejor si siento que estoy ayudando a un amigo que pide un favor aquí y allá, por ejemplo, para terminar un proyecto en una fecha límite, es posible que tenga que quedarme en la oficina durante un número de horas que de otro modo no querría hacer.

La competencia para manejar múltiples cosas sería otro aspecto que buscaría, aunque esto puede verse como un rasgo obvio hasta cierto punto. Las habilidades de resolución de conflictos y reconciliación también serían algo que me gustaría saber que mi gerente pueda manejar, ya que puede haber momentos en los que sea desarrollador contra desarrollador o desarrollador contra analista en términos de problemas que requieren que alguien tenga la razón, lo que puede ser ninguno en algunos casos, ya que algunos aspectos del trabajo pueden tener múltiples interpretaciones.

1
JB King

Alguien que entienda que el desarrollo no es un trabajo de fábrica. No es probable que dedicar más horas al día obtenga un rendimiento significativamente mayor. Los programadores necesitan levantar la nariz de la piedra de afilar con bastante frecuencia y simplemente no pensar en lo que están trabajando para resolver un problema y hacer las cosas.

1
Andrey

Un buen gerente es dispuesto a dejarme decir que no . Se dan cuenta de que el desarrollo de software es un problema perverso . Por lo tanto, incluso si el gerente es más competente que yo técnicamente, se dan cuenta de que podría conocer mejor el problema simplemente porque soy yo quien implementa la solución. Al mismo tiempo, me avisan cuando me falta contexto. Muchas veces, los gerentes pueden tomar decisiones basadas en cosas que saben que yo no. Si ese es el caso, entonces deberían informarme los detalles o al menos dejarme saber que saben algo que yo no.

1
Jason Baker

He trabajado en algunos lugares donde la gestión era explícitamente no técnica. Mi empleador actual tiene una política de que un gerente que toma una decisión técnica es motivo de remoción. (Esta no es una pequeña empresa de la que nunca haya oído hablar, aproximadamente un tercio de ustedes están ejecutando nuestro producto). En parte como resultado de esta política, al menos en mi opinión, los gerentes aquí son mucho "más fuertes" que en otros empleadores. Dado que no están involucrados en la toma de decisiones técnicas, la gerencia no toma una serie constante de decisiones técnicas 'levemente o muy incorrectas', y solo toman decisiones importantes de "nivel de línea de productos".

Los mejores gerentes que he tenido son los que "interfieren" para los desarrolladores. Un buen gerente puede diferenciar entre una 'reunión obligatoria' y una reunión obligatoria, y se lo hará saber.

Una habilidad de gestión básica es hacer que los desarrolladores se sientan en control de su entorno, esto puede ser un recordatorio o una ilusión, dependiendo de la empresa, pero es una habilidad de vital importancia.

0
jkerian