¿Qué rasgos tienen en común los mejores gerentes para los que has trabajado? [cerrado]

24

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 las personas sean malas en nuestra industria? ¿Qué hay de agresivo? ¿Confidente? ¿Cual es la diferencia? ¿Prefieres tener un sargento de instrucción para un 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 para los que has trabajado?

EDITAR: Solo para aclarar, ya que ha habido algunos votos cercanos, me interesa saber 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 qué 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.

Paddyslacker
fuente
44
No tengo suficientes "mejores" para identificar algo en común :).
Nicole
Para aquellos que voten para cerrar, me gustaría agregar esto: esta pregunta no es una pregunta de "qué tipo de encurtidos". Si bien hay algunos rasgos que pueden ser útiles para todos los gerentes, lo que esta pregunta busca son los rasgos que los gerentes de los desarrolladores tienen en común que los gerentes de, digamos, las personas que hacen latas de sopa podrían no requerir.
Paddyslacker
1
No es una pregunta de encurtidos, pero la pregunta y ninguna de las respuestas tienen una particularidad de "programador" para ellos, y podría decirse sobre cualquier trabajo. Es una pregunta que se adapta mejor a un sitio sobre empleos / carreras en general.
@ Mark, tal vez debería llevar esta discusión a meta.
Paddyslacker
@ Mark, trató de aclarar la intención de la pregunta.
Paddyslacker

Respuestas:

10

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

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

Joel Spolsky lo llama la " 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 reconozca que la solicitud es una tontería.

JeffO
fuente
44
Me encanta tener a mi jefe como amortiguador de todas las reuniones y ejecutivos. Me siento y codigo, preguntas que le hago y respuestas con las que me responde. No podría pedir nada mejor. Aunque debe tenerse en cuenta que estar demasiado separado de las personas que deciden sobre las especificaciones puede permitir que los requisitos se deslicen demasiado fácilmente, por lo que debe observar.
Chris
@ Chris - mi jefe hace lo mismo. Obtengo la versión Reader's Digest de lo que está sucediendo, pero me tomo el tiempo para interactuar con los demás. Solo puedo hacerlo como mejor me parezca.
JeffO
2
Qué artículo tan maravilloso es ese.
Joonas Pulakka
29

Alguien que pelee batallas políticas por mí y elimine los obstáculos que me impiden hacer las cosas.

Período.

Ryan Hayes
fuente
1
Qué atrevido de tu parte decir
Nota para
22

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

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

Mason Wheeler
fuente
17

Protege a su equipo y asume sus responsabilidades.

Uno en 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.

usuario2567
fuente
14

Se gestionan 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, les preocupa lo que necesito para realizar una tarea determinada. Si esto significa eliminar obstáculos u obstáculos, o permitirme trabajar largas horas / fines de semana, están dispuestos a cambiar el tiempo. Si hago el trabajo antes de lo programado y necesito algo de tiempo para citas médicas o actividades familiares, son flexibles y comprensivos.

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

Bedwyr
fuente
13

Manténgame alejado de las reuniones en las que no necesito participar. Si los gerentes pudieran hacer esto, serían infinitamente más valiosos.

Jaco Pretorius
fuente
12

Reconocimiento de que me contratan y me pagan para tomar decisiones.

Cruzar
fuente
10

Te apoyan cuando dices NO

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

Sergio Acosta
fuente
5

sin gritos por favor ... simplemente no lo hagas. (No importa cuán estresado esté por el gran plazo, los probadores estúpidos, etc.)

Morgan Herlocker
fuente
5

Alguien que simplemente me deja hacer mi trabajo.


fuente
5

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

Jeremy
fuente
5

Reconocimiento de que me contratan y me pagan 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 qué hacer, bien podría ser mecanógrafa.

Cruzar
fuente
4

Tengo que ir a 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 _ enfrentar lo peor con lo que he tratado fue un jefe que cambia de opinión cada vez que alguien habla 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 que mi jefe recibió un gran premio que dieron públicamente. Todo lo que mencionaron que hizo, en realidad lo hice. No hace falta decir que esto es desmotivante en extremo.

Pánico cuando las cosas no van bien. Peor aún cuando el pánico lo hace desagradable. Eso no ayuda a hacer las cosas, de verdad.

Apuñala a su propia gente. Él recibe el crédito, nosotros tenemos la culpa. Yd 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 no llevará mucho tiempo implementarlo. 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 cambie la arquitectura fundamental.

Micromanjes o no se las arregla en absoluto. Ambos son igualmente malos. He tenido demasiados jefes que no sabían que había un problema con un empleado hasta demasiado tarde y todos los demás tuvieron 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 de lo contrario nunca se haría.

Es políticamente ingenuo. Si a tu jefe no le está yendo bien políticamente con las personas que están por encima de él, tendrás problemas para conseguir las personas que necesitas, tendrás los peores espacios y estarás en el grupo con mayor probabilidad 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 la oficina.

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

HLGEM
fuente
+1 (buena crítica): algunos puntos muy buenos, aunque siempre he tenido jefes buenos y competentes (en general) ...
ChristopheD
4

Crédito donde se debe y suficiente conocimiento para poder asignarlo

Hubiera agregado escuchas bien pero en su lugar había votado a favor.

  1. Si hay alguien que constantemente toma el crédito por las características que se encuentran en las bibliotecas desarrolladas internamente, de código abierto o de terceros, entonces eso debería ser derribado, no recompensado.
  2. Si a alguien se le asignan todas las responsabilidades de error 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 esfuerzan por cumplir con los plazos, deben ser elogiados, no los gerentes por llegar a los plazos en primer lugar.
Wheaties
fuente
Tan cierto: mi principal cliente tiene esa tonta regla tácita de que quien encuentre un error es el que debe solucionarlo, por lo que, por supuesto, los desarrolladores internos nunca informan errores (a menos que no tengan nada que ver, casi nunca es el caso) ) y los clientes se enojan porque los errores solo se corrigen cuando se quejan de ello.
wildpeaks
Es especialmente tonto cuando el que encuentra el error es de una especialidad diferente (por ejemplo, si el diseñador web encuentra un error en la estructura de la base de datos) o ese desarrollador específico ya está inundado mientras que otros no tienen nada que hacer.
wildpeaks
De una forma u otra, su gerente tomará u obtendrá crédito por su trabajo. Esto es para su beneficio si planea permanecer en la empresa.
JeffO
4

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

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

grok
fuente
3

Alguien que escucha bien

y

Alguien que se esfuerza por hablar conmigo al menos semanalmente

Wheaties
fuente
3

He tenido buenos gerentes y malos. Estos son algunos 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 el código.

Micro gestiona los detalles incorrectos

Este tipo de gerente lo molestará por no poder adjuntar una firma a su correo electrónico mientras ignora el trabajo adicional que realizó antes de ese correo electrónico.

No tiene interés en el proceso de desarrollo.

Esto 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 él está allí para que yo le informe

Este tipo de gerente consigue que la gente le informe sobre todo.

Asigna mal el tiempo

Dado un mes para entregar un proyecto de desarrollo desde el comienzo hasta la finalización, este gerente asignará 3/4 del mes al equipo de diseño y requisitos para generar 1000 documentos de línea de palabras y esperar que el equipo de desarrollo lo implemente todo en una semana. También repetirá los requisitos hasta que sean 'perfectos', agregando grandes cantidades de detalles hasta que el documento quede inutilizable. Pero luego, 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.

Sashang
fuente
Creo que esta respuesta sería un poco más útil si la cambiara a una descripción de buenos gerentes en lugar de malos gerentes. Por ejemplo, en lugar de decir "Un mal gerente piensa que él está allí para que yo le informe", podría decir "Un buen gerente entiende que no soy solo una persona que le informa".
Jason Baker
2

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 tienden a ocurrir juntos con demasiada frecuencia, pero cuando lo hacen, has encontrado una buena persona para trabajar.

Donde trabajo, nuestro gerente de proyecto es un ex desarrollador. Es bueno para priorizar y dirigir el trabajo, las cosas que un gerente necesita saber, pero también tiene una muy buena idea de lo que está sucediendo cuando necesito hacer una pregunta sobre cómo implementar algo que requiere tanto de él como de la gerencia. y aportes técnicos de mi parte.

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

Mason Wheeler
fuente
2

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

Descargo de responsabilidad: anteriormente he estado en roles gerenciales, pero actualmente no lo estoy. A partir de eso, definitivamente puedo decir que también puede ser bastante difícil estar del otro lado de la mesa.

Bill Leeper
fuente
2

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

jueves
fuente
2

Dos cosas:

1) Es (o fue recientemente) un desarrollador él mismo.
2) Gestiona tanto hacia arriba como hacia abajo .

El punto 1 le dará, como desarrollador, un gerente que realmente comprende cuál es su trabajo y en qué consiste, y comprende lo que necesita (y tampoco necesita) para hacer su trabajo lo mejor que pueda. Si no son un desarrollador ahora (y realmente no deberían ser un desarrollador práctico ahora ya que son un administrador, y ese es un trabajo de tiempo completo en sí), deberían tener experiencia previa en desarrollo, pero eso 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 peleas para que su equipo reciba las cosas que necesita (permitiendo así el punto 1) y puede manejar las expectativas del negocio y de aquellos por encima de él (Esto es aún más importante en una gran corporación donde existen muchos niveles y niveles de administración entre usted (el desarrollador) y los tomadores de decisiones comerciales (alta gerencia)).

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

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

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

"La suposición era que los gerentes existen para decirle a la gente qué hacer".

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

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

CraigTP
fuente
2

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ácalos 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 quiere tener que ser quien le diga a alguien que lo están dejando ir y así dejar que la madera muerta permanezca año tras año causando daño y descontento entre los competentes.

No quiero sentirme avergonzado por un gerente que ni siquiera sabe qué idiomas o backend de la base de datos u otras herramientas críticas que utilizamos. Tuve una pregunta (en frente del cliente) en qué idioma programamos después de estar involucrados en el proyecto durante 3 años. No espero que las personas que han estado en la administración durante mucho tiempo sigan actualizadas sobre cómo hacerlo, pero al menos deberían saber qué estamos usando. Y deberían ser lo suficientemente inteligentes como para no preguntar cosas así frente a otros si no lo hacen.

Quiero un gerente que tenga coraje. No acepte ese plazo irreal sin retroceder, no permita que las personas intimiden a sus empleados o deje que los desarrolladores de rouge sigan su camino sin ser cortados. No dejes de decirme si estoy haciendo algo mal porque temes que pueda molestarme. 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 exhaustos cometen errores y que lleva más tiempo hacer un proyecto que funcione 60 horas a la semana que 40.

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

HLGEM
fuente
1

La amistad sería algo que pondría allí. No me gusta sentir temor 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á a veces, por ejemplo, para que un proyecto se realice en una fecha límite, es posible que tenga que permanecer en la oficina durante algún tiempo horas que de otra manera no quisiera hacer.

La competencia en la gestión de varias cosas sería otro aspecto que buscaría, aunque esto puede verse como un rasgo obvio en cierta medida. Las habilidades de resolución de conflictos y reconciliación también serían algo que me gustaría saber que mi gerente puede manejar, ya que puede haber ocasiones en 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 en algunos casos, ya que algunos aspectos del trabajo pueden tener múltiples interpretaciones.

JB King
fuente
1

Alguien que entiende que el desarrollo no es 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 muela con bastante frecuencia y simplemente no pensar en lo que están trabajando para resolver un problema y hacer las cosas.

Andrey
fuente
1

Un buen gerente está 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 competitivo que yo técnicamente, se dan cuenta de que podría conocer mejor el problema simplemente porque soy yo quien está implementando la solución. Al mismo tiempo, me avisan cuando me falta el contexto. Muchas veces, los gerentes pueden tomar decisiones basadas en cosas que saben que yo no. Si ese es el caso, entonces deberían me llenan en los detalles o por lo menos me dejaron que ellos saben algo que yo no.

Jason Baker
fuente
0

He trabajado en algunos lugares donde la administració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á 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, no hay una cadena constante de decisiones técnicas 'levemente muy erróneas' que toma la gerencia, y solo toman grandes decisiones de "nivel de línea de productos".

Los mejores gerentes que he tenido son aquellos que 'interfieren' para los desarrolladores. Un buen gerente puede notar la diferencia 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.

jkerian
fuente