¿Qué hace un buen arquitecto / gerente / desarrollador principal?

12

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

A medida que el equipo ha crecido, he llegado al punto en el que me resulta difícil mantener la supervisión técnica de todo el proyecto y al mismo tiempo escribir grandes cantidades de código nuevo, por lo que es hora de que ajuste mi rol. ¿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 simplemente convertirme en la "policía de la arquitectura" que impone mi voluntad en el equipo. En otras palabras, quiero ser el tipo que ayuda a que las cosas funcionen mejor o más suavemente, en lugar de ser el tipo que ralentiza las cosas agregando una capa innecesaria de burocracia. Sin embargo, uno de nuestros principales riesgos es que las cosas se salgan de control 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?

    
pregunta brianberns 24.08.2012 - 03:59

3 respuestas

12
  

Si estuvieras en un equipo como este, ¿qué querrías que hiciera tu jefe con su tiempo?

  1. Eliminar los impedimentos para progresar.
  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 sobre temas de negocios / proyectos de nivel superior para que no nos sintamos aislados.
  5. Manténgannos honestos, especialmente si / cuando una manzana mala entra en el equipo.
  6. Sea un defensor del equipo para otros departamentos.
  7. Sea la voz unificada de rechazar las solicitudes comerciales irrazonables.
  8. Facilite la comunicación entre el equipo.

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

    
respondido por el Telastyn 24.08.2012 - 04:17
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 muy 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 de tamaño considerable, desearía que hubiera otros candidatos que asumieran el rol de desarrollador senior que podría alimentar a los miembros más nuevos del equipo y seguir haciendo un trabajo pesado en el desarrollo.

Pero en un equipo en crecimiento, definitivamente también querrías un buen gerente. De hecho, tener una buena persona con el título de administrador es importante porque quiere que tenga suficiente poder para tomar buenas decisiones. Un buen gerente tiene una gran influencia sobre la felicidad de un equipo y por exactamente las razones que usted indica; ayudando a mantenerlos productivos, y bueno para ti por pensar como eres. Hay un montón de gerentes que no dan el culo de una rata.

Recomendaría algunas otras publicaciones aquí en Programadores. Aunque están más orientados a un líder de equipo que a un rol directivo oficial, pueden ayudar:

Haciendo el cambio a Team Leading

¿Cómo puedo tener éxito como desarrollador principal?

Cómo ganar a los miembros del equipo ¿Respeto como líder del equipo?

    
respondido por el Bernard Dy 24.08.2012 - 04:48
4

Creo que es un equilibrio de estos rasgos:

  • Habilidad técnica : no quieres que alguien que lidere no pueda evaluar la calidad del trabajo que está dirigiendo.
  • Autodidacta : puede definir objetivos y no ser reactivo.
  • Sabe cómo capitalizar conflictos : el conflicto provoca conversaciones
  • Auto-didáctica : 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 a 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 sí la cantidad correcta de la experiencia correcta, y el fracaso es definitivamente algo a considerar.

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

  • "Dígame un proyecto en el que haya experimentado un fracaso, cómo lo logró y lo que aprendió de él"
  • "Cuéntame sobre una vez en la que rompiste las reglas para hacer las cosas"
  • Aplicar Fizz Buzz Prueba, con cualquier giro leve que puedas imaginar.

La prueba de FizzBuzz es absolutamente imprescindible, ser correcto o incorrecto no es tan importante como:

  • El tiempo que le toma contestar : promedio de 15 min, límite de 30 min ok, > 30 min NO OK
  • 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 senior ... tomó 40 minutos para realizar la prueba. . en pseudocódigo ... lo entendí mal y no pude averiguar por qué. Tuve otro caso en el que otro chico, pasó unos 5 minutos justificándose y no podía aceptar que estaba equivocado en absoluto.
respondido por el dukeofgaming 24.08.2012 - 06:16

Lea otras preguntas en las etiquetas