¿Qué lo convierte en un buen arquitecto / gerente / desarrollador principal?

12

Soy el desarrollador principal de una pequeña empresa de software. En los últimos dos años, mi equipo ha pasado de ser un desarrollador (yo) a un grupo de aproximadamente nueve personas. La mayoría de nosotros somos ingenieros superiores muy capaces (más de 20 años de experiencia en la creación de software por persona), por lo que generalmente se necesita muy poca mano. Usamos Scrum para administrar nuestros esfuerzos, y generalmente hacemos mucho rápidamente con requisitos mínimos escritos.

A medida que el equipo creció, llegué al punto en el que me resulta difícil mantener la supervisión técnica de todo el proyecto y al mismo tiempo escribir cantidades significativas de código nuevo, por lo que es hora de que ajuste mi función. ¿Cómo puedo ser más útil para el equipo cuando ya no paso la mayor parte de mi tiempo desarrollando?

Mi objetivo es permitir que mi grupo crezca aún más (es decir, aumentar la velocidad de Scrum) agregando más desarrolladores , por lo que no quiero convertirme simplemente en la "policía de arquitectura" que impone mi voluntad al equipo. En otras palabras, quiero ser el tipo que ayuda a que las cosas funcionen mejor / mejor, en lugar de ser el tipo que frena las cosas al agregar una capa innecesaria de burocracia. Aún así, uno de nuestros principales riesgos es que las cosas se descontrolarán si agregamos más personas sin tener la estructura suficiente para mantenernos a todos en la misma página.

¿Cuál es la mejor manera de lograr mi objetivo?

brianberns
fuente
66
No estoy seguro de que esta sea una respuesta, pero personalmente me gustaría que mantenga a los equipos organizados y personalice un poco su gestión. Sepa en qué están trabajando, manténgase al día con lo que están trabajando, etc. Cuando no los esté organizando como grupo, participe en revisiones de código, ayude a escribir módulos que necesiten un poco de ayuda adicional y tal vez pasar tiempo con desarrolladores individuales. Tuve uno o dos gerentes que no fueron de ayuda y no se registraron con nosotros para ver cómo iban las cosas, pero tampoco quisieron saberlo (sí, mal gerente).
Simon Whitehead
Creo que los roles que mencionó en el título tienen diferentes especificaciones y usan diferentes conjuntos de habilidades. ¿Cuál es?
Eufórico el
3
Los requisitos detallados y la "capa innecesaria de burocracia" no son lo mismo. Los requisitos pueden salvarle la vida, especialmente cuando trabaja con un gran equipo. No subestimes su poder.
SuperM

Respuestas:

12

Si estuvieras en un equipo como este, ¿qué quieres que haga tu jefe con su tiempo?

  1. Eliminar los impedimentos para el progreso.
  2. Mediar disputas entre los miembros del equipo.
  3. Interactúa con gente de negocios para que no tengamos que hacerlo.
  4. Manténganos informados de las cosas de negocios / proyectos de alto nivel para que no nos sintamos aislados.
  5. Mantennos honestos, especialmente si / cuando una manzana podrida ingresa al equipo.
  6. Sea un defensor del equipo para otros departamentos.
  7. Sea la voz unificada de rechazo contra solicitudes comerciales irrazonables.
  8. Facilitar la comunicación entre el equipo.

Probablemente hay un montón que estoy olvidando, pero ese es el núcleo de la misma. No implemente el proceso, maneje parte de esa sobrecarga / ineficiencia que se desarrolla naturalmente a medida que aumenta el tamaño del equipo.

Telastyn
fuente
55
No puedo evitar sentir que esta lista está muy negativamente orientada. Esto es como "protégeme de las cosas malas". ¿Qué pasa con el impacto positivo ?
Nicole
1
@NickC Pensé que lo anterior es parte del trabajo del gerente. ¿Qué quieres decir con impacto positivo ?
Bћовић
2
@nickC eh, tiendo a tener una perspectiva negativa de las cosas, pero también en mi experiencia, reducir el impacto negativo tiene el mayor impacto positivo en la productividad y la moral de un equipo. Especialmente si le preocupa desanimar a las personas con el proceso.
Telastyn
@NickC Estoy completamente de acuerdo con Telastyn, al final su lista puede resaltar lo que los desarrolladores enfrentarían si no tuvieran un liderazgo tecnológico. Aunque, se podrían agregar más puntos positivos, es decir. "Los buenos líderes tecnológicos tienen una visión general de la dirección técnica del producto y se aseguran de que el equipo lo entienda. Delegan áreas de funciones a otros miembros del equipo y les permiten tomar sus decisiones. Reconocen que los miembros de su equipo son inteligentes, confíen en ellos, y confíe en ellos para manejar piezas importantes del proyecto ". ver engineering.foursquare.com/2014/01/30/…
Adrien Be
6

No tendría problemas con un líder de equipo que fuera capaz de equilibrar las tareas administrativas y técnicas, pero es difícil encontrar personas que manejen bien ese equilibrio.

Si tuviera que elegir entre los dos extremos de un líder de equipo en un equipo en crecimiento ... es una elección realmente difícil, pero en última instancia, creo que me gustaría que el líder del equipo se convirtiera en un gerente. En un equipo considerable, desearía que hubiera otros candidatos para asumir el rol de desarrollador senior que podrían nutrir a los miembros más nuevos del equipo y aún hacer un trabajo pesado en el desarrollo.

Pero en un equipo en crecimiento definitivamente querría un buen gerente también. De hecho, tener una buena persona con el título administrativo es importante porque quieres que tenga el poder suficiente para llevar a cabo buenas decisiones. Un buen gerente tiene una gran influencia sobre la felicidad de un equipo y exactamente por las razones que está indicando; ayudándolos a mantenerlos productivos, y buenos para que pienses como eres. Hay muchos gerentes que no se dan por vencidos.

Recomiendo algunas otras publicaciones aquí en Programmers. Aunque están orientados más a un líder de equipo que a una función administrativa oficial, pueden ayudar a:

Haciendo el cambio a Team Leading

¿Cómo tengo éxito como desarrollador principal?

¿Cómo ganar el respeto de los miembros del equipo como líder del equipo?

Bernard Dy
fuente
"Un buen gerente tiene una gran influencia sobre la felicidad de un equipo": creo que tienes razón, pero esto plantea otra pregunta "¿Puede un equipo ser feliz incluso con un gerente inútil?"
Adrien Be
4

Creo que es un equilibrio de estos rasgos:

  • Habilidad técnica : no desea que alguien que lidere no pueda evaluar la calidad del trabajo que dirige.
  • Autodirigido : puede definir objetivos y no ser reactivo.
  • Sabe cómo capitalizar el conflicto : el conflicto desencadena conversaciones
  • Auto-didáctico : no es importante que él / ella sepa todo, pero sepa cómo aprender.
  • Buena actitud y energía : quieres a alguien que motive y facilite el trabajo de todos, no una diva que ladre órdenes.
  • Experiencia con el fracaso : posiblemente la más importante. He visto líderes muy jóvenes que podrían no tener problemas con todo lo anterior, pero a la primera señal de fracaso se congelan o evitan la responsabilidad. La antigüedad no tiene nada que ver con la edad, pero la cantidad correcta de la experiencia correcta, y el fracaso es definitivamente algo a considerar.

OTOH, la entrevista es una parte importante para conseguir la persona adecuada, le recomiendo que haga las siguientes preguntas en la entrevista:

  • "Dime un proyecto en el que experimentaste un fracaso, cómo lo manejaste y qué aprendiste de él"
  • "Háblame de una vez en que rompiste las reglas para hacer las cosas"
  • Aplique la prueba Fizz Buzz , con cualquier pequeño giro que se le ocurra.

La prueba FizzBuzz es absolutamente imprescindible, tener razón o no, no es tan importante como:

  • El tiempo que le toma responder : 15 minutos promedio, 30 minutos límite bien,> 30 minutos NO está bien
  • Si él / ella es capaz de depurar su propio código : una vez hice que un chico con 15 años de experiencia solicitara un puesto de alto nivel ... se tomó 40 minutos para hacer la prueba ... en pseudocódigo ... consiguió está mal y no podía descubrir por qué. Tuve otro caso en el que otro tipo, pasó unos 5 minutos justificándose y no podía aceptar que estaba equivocado en absoluto.
dukeofgaming
fuente
1
+1. Todos deben saber aprender.
SuperM
La prueba de FizzBuzz es eliminar a las personas con el llamado inertia of mind, ¿no? Después de lidiar con problemas complicados por un tiempo, la mayoría de nosotros no puede ver ninguna solución simple para problemas simples.
SuperM