¿Cuáles son las principales cosas que un programador espera del programador senior?

41

Recientemente leí los siguientes 5 tipos de jefes y cómo lidiar con ellos , que describe los atuendos del peor jefe. Acabo de comenzar a dirigir un pequeño equipo de desarrolladores de software.

Me gustaría saber cuáles son las principales cosas que un programador espera del programador senior o cuáles son las cosas que debemos evitar al administrar un equipo.

Además, me gustaría saber cómo mantener satisfechos a los programadores y crear un entorno productivo y completo para mi equipo.

Avatar
fuente
19
joelonsoftware.com Lea tanto de su blog como tenga tiempo.
P.Brian.Mackey
@ P.Brian.Mackey enlace increíble!
Avatar
2
Que el programador senior tenga un avatar relacionado con Miyazaki quizás no sea una necesidad, pero seguramente una gran ventaja :-)
leonbloy
1
Interesante ... Mi jefe obtuvo un 4 de 5 en esa prueba ... Debería alertarlo de las buenas noticias;)
Aeo

Respuestas:

79

Cosas que parecen funcionar bien para mí:

  • Ofrezca un trabajo significativo y aliente la propiedad , incluso cuando surja un problema, no lo resuelva, hable sobre él y bríndele a la persona ideas para que pueda resolverlo por sí mismo.
    • editar - además - esto también estaba destinado a incluir - manténgase alejado de los detalles. Suponga que su gente sabe lo suficiente como para realizar la tarea sin microgestión o el requisito de registrarse constantemente. Cree un conjunto de pautas para cuándo deben registrarse, lo que debería ser solo cuando el trabajo está hecho o está realmente desordenado que es una intervención seria necesario. Si es posible, manténgase alejado de la necesidad de estar al tanto de los problemas de soporte interteam.
  • Sea honesto , eso tiene varios corolarios:
    • Sé honesto contigo mismo: "No tendré tiempo hasta el martes", "Nunca he hecho eso, esta es mi mejor suposición", etc.
    • Sea honesto sobre el equipo y dónde encajan en la empresa: si sabe algo sobre el negocio, dígales si puede y dígales lo que sabe como hechos concretos.
    • Sea honesto al dar retroalimentación: no pierda palabras o pedalee suave si tiene retroalimentación negativa. Eso es diferente de "brutalmente honesto": aún puede tener compasión, pero si algo está mal, dígalo.
    • Sé honesto cuando sepas que el trabajo se trata más de una cinta roja que de hacer algo significativo. En la vida de todos, caerá un trabajo sin sentido. No finjas que es significativo. Llámalo como es, para que todos puedan concentrarse en superarlo y llegar a algo útil.
  • Escuchar . Al menos el 50% de tu trabajo está escuchando, tal vez más. De repente te has convertido en responsable no solo del trabajo técnico, sino de las personas que lo hacen. Debe escuchar para aprender no solo sobre los problemas que tiene el equipo, sino también sobre cómo su gente aborda el problema y cuáles son las deficiencias del equipo como grupo.
    • Corolario importante: escuchar puede conducir directamente al punto n. ° 1, dar un trabajo significativo: los ingenieros son excelentes para encontrar formas de facilitar el desarrollo. No puede aprobar todo, pero cuando la idea es buena, asigne al ingeniero la tarea, y esencialmente le han hecho trabajar para usted: crearon el trabajo significativo y le dijeron exactamente qué es.
  • Di "gracias" . Lo sé, parece obvio. Si bien todos amamos el dinero, mejores herramientas, un mejor ambiente de trabajo y promociones, la forma de llegar a estas cosas es mediante una serie de buenos esfuerzos, cada uno de los cuales merece un "gracias". "Gracias" es totalmente gratis, nunca se quedará sin ellos, y saber que su gerente ha visto y apreciado su arduo trabajo definitivamente es motivador.
  • Dedique tiempo al panorama general , incluso si eso significa sacrificar una parte del trabajo diario que le proporcionó el puesto. Probablemente sea cierto que puede codificar mejor que algunas de sus personas, pero si no dedica un tiempo decente al panorama general: el equipo, la dirección general del proyecto, el estado de su base de código, la eficiencia de sus procesos , el entorno de su equipo, entonces no estará haciendo el trabajo que ellos necesitan que haga.
  • Aprende a ser un amortiguador para tu equipo . Los equipos de ingeniería funcionan mejor cuando tienen tiempo para hacer ... ingeniería. La burocracia corporativa no es ingeniería. Cualquier cosa que pueda hacer para tomar las molestas reuniones de 1 por año / mes / semana con personas externas es mejor. NOTA: Eso no significa reuniones ágiles con los interesados; eso es ingeniería, su equipo necesita estar allí para eso. Me refiero a la reunión con las instalaciones que desean colocar una maquinaria ruidosa cerca de su equipo, o el grupo de proceso que quiere que su equipo complete los documentos por triplicado antes de que se registre cualquier código. Usted es el sistema de absorción de fallas.
  • Suponga que las personas problemáticas no son malas , son personas que quieren hacer el bien pero que aún no han descubierto cómo. No podrá reparar a todos, pero a menudo los primeros errores completos son tanto un factor de comunicación fallida como de incompetencia o malicia deliberada. Si comienza con la suposición de que las personas no son malvadas, tiene una esperanza decente de evitar algunos de los arquetipos de jefes malvados de la lista anterior.

Y probablemente lo más importante ... respeto . Si honestamente no puede respetar a los miembros de su equipo, debe trabajar para cambiar eso (ya sea para enseñar a las personas o para cambiar su plantilla). Respeta el primer día y lo recuperarás, trata a las personas con falta de respeto y nunca obtendrás respeto a cambio.

En conjunto, si haces la mayoría de estas cosas, la mayoría de las veces, tu equipo te dará el beneficio de la duda cuando demuestres que eres humano y arruinarás algo por ti mismo. :) Cada jefe tiene sus propios inconvenientes, y se trata tanto de establecer una relación con su equipo donde puedan ayudarlo a compensar sus debilidades como a ayudarlos con las suyas.

bethlakshmi
fuente
1
gran respuesta, agregaría a esto darles libertad . Nada peor que ser microgestionado o tener que pedir permiso para cada pequeño detalle.
agradl
3
Verdaderamente impresionante ... Desearía que StackExchange pudiera proporcionar soporte para los siguientes usuarios (una breve nota para Joel y Jeff) :)
PrinceCoder
2
WAAOW !! ... esa fue una de las mejores respuestas que he encontrado en @Stackexchange
explorest
wow y wow y porque tengo que escribir algunos caracteres más para enviar este comentario, wow.
Amir Afghani
2
@PrinceCoder cada usuario tiene su propio feed, puede seguirlo en algún lector de RSS.
svick
12

Bueno, una de las cosas más importantes que debes aprender es que a menudo no podrás mantenerlos contentos, ya que simplemente no tendrás la capacidad de darles lo que quieren.

Los mejores gerentes para los que he trabajado han sido los más honestos, quienes defenderán a su equipo de toda la basura que la alta gerencia intenta arrojarles, y que, sobre todo, ESCUCHEN a su equipo.

ozz
fuente
2
Hay una gran diferencia entre un gerente y un programador senior. Todavía tengo que conocer a un gerente como usted describe. Por favor, dime dónde puedo encontrarlos ;-)
fretje
Es justo lo que dice el título, pero la pregunta continúa hablando de jefes. He tenido muchos buenos gerentes / líderes de desarrollo en mi carrera.
ozz
+1 @ James alguien ha editado el título que parece. Por preguntas destaca sobre los leads / managers. La palabra "jefe" parece feroz, así que elijo la palabra programador senior.
Avatar
6

Creo firmemente que una de las partes más críticas de ser senior o líder es la disponibilidad para las personas más jóvenes. Las personas mayores y los líderes a menudo tienen tareas que solo ellos tienen los derechos para hacer (no les damos a los jóvenes derechos de escritura para la puesta en escena y la producción) Además, una parte importante de su trabajo es asesorar a los jóvenes, lo que significa responder preguntas sin ignorarlas. Cuanto más alto sea usted, más probable es que sea interrumpido por otros que necesitan algo de usted. Debe renunciar a esa señal de "no molestar" y aprender a trabajar con interrupciones.

Escuchar es importante.

Por favor y gracias son importantes y no cuestan nada.

No esperes más de lo que estás dispuesto a dar. Si quieres que trabaje hasta las 3 de la mañana, será mejor que estés a mi lado trabajando también. Nada es más desalentador que trabajar para alguien que sale a tiempo todos los días inmediatamente después de darle una tarea que debe hacerse antes de las 7 a.m.

Sé justo. No juegues favoritos (especialmente no juegues favoritos dándole a tu novia o novio las mejores cosas). Trate a todos los empleados con respeto (incluso a las personas que personalmente no le gustan).

Ser decisiva. No deje las decisiones pendientes para que nadie pueda progresar o, peor aún, cambiarlas cada cinco minutos.

Defiende a tu gente. No los ganarás a todos, pero la gente caminará a través del fuego por alguien que los apoye en la cadena.

Estar dispuesto a ser el malo cuando sea necesario. Una manzana podrida puede destruir un equipo de desarrollo, no te aferres a esa persona porque no quieres confrontar su mal comportamiento (esto se aplica más a los leads y supervisores oficiales). Cuando tenga malas noticias, dígale al equipo, no lo mantenga en secreto (eventualmente lo descubrirán y luego se enojarán tanto por las malas noticias como por el secreto). No estás allí para ser popular sino para hacer el trabajo. Cualquier persona en un puesto de gestión o cuasi-gestión debe estar dispuesto a ser impopular.

Aprende a vender ideas a los superiores y enseña estas habilidades a tus desarrolladores.

Comprenda la importancia del dominio empresarial y conviértase en experto en él, así como en la programación.

HLGEM
fuente
3

Las palabras clave aquí son confianza y responsabilidad.

Solo tendrá que confiar en que los miembros de su equipo sean competentes y estén enfocados en completar sus tareas. Al no entrometerse demasiado, esencialmente les está dejando la responsabilidad "propia" de su trabajo.

En mi humilde opinión, esto solo hace maravillas en la creación de un ambiente saludable.

Jas
fuente
2
Siempre que sean decentemente competentes y motivados. Si el equipo se hereda tal cual, desafortunadamente esto no es un hecho. Si seleccionó a los miembros usted mismo, por supuesto, es una historia diferente.
Péter Török
1
Bueno, en mi opinión, incluso aquellos que no son demasiado competentes, cuando se les da una responsabilidad total, también conocida como "propiedad" de una parte del proyecto, harán todo lo necesario para hacer su trabajo. Ni siquiera me importa si una parte del código se recopila haciendo preguntas en foros y tableros, siempre y cuando se haga el trabajo.
Jas
desafortunadamente, he encontrado contraejemplos :-( En el peor de los casos que he visto, un desarrollador no produjo absolutamente nada cuando se le dio libertad y plena responsabilidad durante unos dos meses, como resultado, ni siquiera estaba llegando al lugar de trabajo. algunas personas simplemente no están tirando de su peso en un equipo, y si se les deja correr libremente sin un análisis exhaustivo, sólo empeorará las cosas Si no deshacerse de estas personas en el tiempo, pueden dañar a todo el equipo..
Péter Török
@ Péter Török: claro, todos conocen a algunas de esas personas en cada empresa (en realidad, leyendo esto, pensé que conocías al mismo tipo que yo :). Pero desde mi experiencia, la mayoría de las personas se concentran e intentan hacer lo mejor.
Jas
Estoy de acuerdo, la mayoría de las personas intentan hacerlo lo mejor posible. (O debería decir todo el mundo trata de hacer su / su mejor - sólo para algunos, "mejor" no llega al umbral de percepción :-) Todavía se debe estar alerta para notar las excepciones de tiempo - porque no son excepciones. Al igual que en el código de producción, debemos manejar los casos de error correctamente, a pesar de que son raros en circunstancias normales.
Péter Török
3

Bueno, en mi opinión, espero que el desarrollador principal / líder / lo que sea se ponga del lado del equipo de desarrollo en contra de cosas como plazos idiotas, sin recursos, pero se espera que construyan Roma, horas extras obligatorias, etc., todas las cosas que reducen la productividad y hacen que las personas estén infelices.

Lo principal que debe evitar la OMI es ser un "sí-hombre" para la alta dirección y siempre estar de acuerdo sin importar lo que digan (en otras palabras, un besador de trasero)

Wayne Molina
fuente
+1: correcto. Y si te encuentras reportando a un 'Sí-Hombre', vete lo antes posible.
Jim G.
1
Lamentablemente, hay muchos entornos en los que el programador senior / líder / gerente no es más que un Yes-Man (o como prefiero llamarlos, "Smithers"), y la peor parte es que la mayoría de las veces no lo sabrás. hasta después de que tomes el trabajo.
Wayne Molina
3

Los talentos de la gente. A veces las personas reciben el título de "Senior" y olvidan que no son omniscientes. Sienten que la promoción es un comentario sobre sus habilidades técnicas supremas y su genio latente. En realidad, ahora son gerentes de nivel súper bajo. Deben entender cómo y a quién motivar, a quién dejar ser, cómo comprometerse y cuándo escuchar.

Propiedad. Los peores programadores Senior no toman posesión de lo que eran "senior". Recurren a las tácticas de evasión laboral y culpan a los juegos que llevaron a su promoción (más que probable mientras bailan sobre la tumba de la persona que arrojaron debajo del autobús). Ahora necesitan entender que es su trasero en la eslinga y que es su responsabilidad poseer el diseño, el plan y una gran parte del trabajo.

Experiencia. Espero que los desarrolladores senior lo hayan visto todo dos veces. Deben entender el dominio y la tecnología. Deben atacar agresivamente los riesgos y ser capaces de detectar el tiempo desperdiciando pistas falsas.

nsfyn55
fuente
2

La consistencia es una de las cosas más importantes. Si los desarrolladores pueden predecir cómo actuará, serán más felices. Incluso si eres constantemente una herramienta total, es mejor que a veces ser genial y otras veces ser una herramienta. Dicho esto, no seas una herramienta.

Irlanda
fuente
2

Conocimiento y comunicación. Conocer la fuente y mucho, mucho más importante poder explicarlo a cualquiera, de manera que lo entiendan y retengan.

Covar
fuente