¿Puede ser malo tener demasiados programadores senior en un equipo?
Dicho como, 4-5 programadores senior en un equipo de 6-7 personas. ¿Cuál es la relación / número óptimo en este tipo de situaciones?
¿Puede esto conducir a demasiada filosofía y argumentos sobre ideas?
¿Alguien ha tenido una experiencia así, que pueda compartirla conmigo?
Respuestas:
Si pudiera elegir, tendría 6-7 personas mayores en un equipo (suponiendo que el proyecto necesite tantas).
El único momento en que puedo ver que esto es un problema es si las personas de la tercera edad solo son mayores en autopercepción y no en ética de trabajo.
No hay nada mejor que trabajar con un grupo de personas que aprecian que cada pieza de desarrollo de software es importante: la documentación, la planificación, el código, el café, todo es importante y se necesita que los desarrolladores maduros (realmente mayores) estén "arriba" nada "y hacer el trabajo correctamente.
EDITAR : Muchas otras respuestas han dicho que demasiados líderes son un problema, pero ¿por qué existe la percepción de que un superior debe liderar? Un senior debe ser lo suficientemente maduro como para elegir un líder y seguirlo. Lo que importa es el proyecto: ¡elige / consigue un papel y hazlo tonto!
fuente
El mayor problema que veo al cargar un equipo con programadores senior es que podría debilitar a otros equipos. Si tiene desarrolladores junior en otros equipos que necesitan tutoría y orientación, entonces es posible que deba cambiar a las personas.
Claro sí , pero deben ser lo suficientemente maduros para saber qué diferencias importan y cuáles no. Si ha designado un líder de equipo respetado, este tipo de argumentos filosóficos deben mantenerse al mínimo con poco esfuerzo.
fuente
Seguro.
Soy un gran defensor de Fred Brooks patrón del equipo quirúrgico .
Y dicho esto, si las personas mayores en un equipo de desarrollo no saben quién es el "cirujano jefe", entonces se enfrentarán por decisiones arquitectónicas importantes y tomarán diferentes direcciones en detrimento del equipo.
PD: La necesidad de un equipo de desarrollo de un "cirujano jefe" es similar a la necesidad de un director de orquesta. En cualquier caso, es probable que tengas muchos veteranos; pero tendrás un lío sin una persona que esté indiscutiblemente a cargo.
fuente
Depende de cómo se distribuyen las responsabilidades. Si se supone que TODOS los Devs Sr. tienen la misma responsabilidad en el diseño del wrt, la revisión del código, etc., entonces podría convertirse en un problema. Si se les asignan diferentes responsabilidades para que puedan trabajar sin luchar por el control de los dominios de los demás, entonces no debería ser un problema; por ejemplo, un Dev Senior tiene la responsabilidad principal del diseño del proyecto, otro se encarga de configurando y manteniendo el repositorio fuente, otro se encarga de las pruebas unitarias, etc.
fuente
No necesariamente. He trabajado en pequeños equipos de desarrolladores senior que fueron altamente productivos. El nivel del discurso era muy alto y no había rencor.
Con TDD, hay muy pocos compromisos importantes con la arquitectura de software, por lo que hay poca necesidad de discutir sobre ellos. Las decisiones de diseño se pueden resolver simplemente implementando ambos enfoques y viendo cuál funciona mejor. Como los desarrolladores son muy rápidos, el costo de estas pruebas es muy bajo.
fuente
Sí, puede haber el problema de tener demasiados cocineros en la cocina para una metáfora que pueda aplicarse. También podría ser bastante costoso si todos esperan salarios altos. Tenga en cuenta que esto solo está verificando la existencia de un mal caso y no dice nada sobre su probabilidad.
Óptimo depende de una serie de variables que no está divulgando. ¿Qué métrica quieres usar para darte cuenta de que hay una buena posibilidad de que algunos jueguen aquí? Del mismo modo, qué restricciones tiene dentro de su mundo que pueden hacer que sea diferente de lo que Google o Microsoft pueden tener en contraste.
Demasiados desarrolladores senior pueden tener el problema de que no hay convenciones o demasiadas convenciones, creo. Si bien algunos desarrolladores senior pueden ser buenos para adaptarse, si ninguno de ellos es probable que presente una convención, ¿dónde comenzaría un equipo? Por el contrario, puede haber algunos desarrolladores senior que son fanáticos de algunas convenciones que pueden requerir resolución de conflictos para resolver.
fuente
Creo que depende de las personalidades de las personas mayores. Si son arrogantes y discutidores, entonces puede ser algo malo. Pero si todos son respetuosos, abiertos a otros puntos de vista y dispuestos a aprender unos de otros, entonces tienes un gran equipo.
Actualmente trabajo en un equipo de 8, donde 5 o 6 son senior, y nos funciona muy bien. Nos llevamos bien, aprendemos unos de otros, y es un excelente entorno de tutoría para los nuevos muchachos que tenemos.
fuente
Trabajé en un equipo donde había 1 desarrollador principal, 4 desarrolladores senior y 1 desarrollador intermedio. Y debido a la razón por la que un miembro "senior" del equipo no era una persona realmente madura (aunque era un buen desarrollador), resultó ser una pesadilla. Intentó demostrar todo el tiempo (implícita o explícitamente) que otros miembros del equipo no son lo suficientemente altos. Tampoco entendió los principios básicos del desarrollo de software y los detalles de nuestro producto y, por lo tanto, arrogante y tercamente trató de demostrar que tenía razón. Como resultado, afectó seriamente la efectividad del equipo. La parte triste es que incluso no era demasiado argumento sobre ideas / soluciones, era un argumento sobre nada . Por ejemplo:
Pero admito que fue más bien una excepción. Quiero creer que las personas mayores se comportan correctamente la mayor parte del tiempo :)
fuente