Troppi anziani in una squadra? [chiuso]


15

Avere troppi programmatori senior in una squadra può rivelarsi una cosa negativa?

Come dire, 4-5 programmatori senior in un team di 6-7 persone. Qual è il numero / rapporto ottimale in questo tipo di situazioni?

Questo può portare a troppa filosofia e argomenti sulle idee?

Qualcuno ha avuto un'esperienza simile, che può condividerla con me?


C'è qualche architetto? Troppi sviluppatori alfa hanno bisogno di qualcuno sopra di loro che orchestri tutto il potenziale "creativo" ;-). L'ultima volta che ho lavorato a un progetto con così tanti anziani, il primo mese è stato divertente. Ci sono stati troppi "refactoring" e "riprogettazioni" perché troppi punti di vista "creativi" :-)
Laiv

Risposte:


40

Se potessi scegliere avrei 6-7 anziani in una squadra (supponendo che il progetto abbia bisogno di così tanti).

L'unica volta che vedo che questo è un problema è se gli anziani sono solo più anziani nella percezione di sé e non nell'etica del lavoro.

Non c'è niente di meglio che lavorare con un gruppo di persone che sanno che ogni parte dello sviluppo del software è importante: la documentazione, la pianificazione, il codice, il caffè, tutto ciò che conta e ci vogliono sviluppatori maturi (veri e propri) per essere "al di sopra niente "e portare a termine il lavoro correttamente.

EDIT : Molte altre risposte hanno affermato che troppi leader sono un problema, ma perché c'è la percezione che un anziano debba guidare? Un anziano dovrebbe essere abbastanza maturo per scegliere un leader e seguirlo. È il progetto che conta: scegli / ottieni un ruolo e fallo sciocco!


1
È vero, gli sviluppatori Sr. non devono guidare, ma spesso hanno una certa responsabilità. Questo può variare a seconda delle organizzazioni ...
FrustratedWithFormsDesigner

10
Concur! Un vero professionista del software di livello senior dovrebbe possedere le capacità e la maturità professionale per poter entrare e uscire dalle posizioni di leadership come richiesto dall'organizzazione. Una squadra di veri anziani opera più come un ensemble jazz che un'orchestra.
bit-twiddler

Oh! Questa è la risposta che stavo provando a comporre prima ma non riuscivo a farmi girare la testa. +1
pdr

10

Il problema più grande che vedo nel caricare una squadra con programmatori senior è che potrebbe indebolire le altre squadre. Se hai sviluppatori junior in altri team che necessitano di tutoraggio e orientamento, potresti dover spostare le persone.

Questo può portare a troppa filosofia e argomenti sulle idee?

Certo che può , ma dovrebbero essere abbastanza maturi per sapere quali differenze contano e quali semplicemente non lo fanno. Se hai designato un capo di squadra rispettato, questo tipo di argomenti filosofici dovrebbe essere ridotto al minimo con un piccolo sforzo.


Inoltre, il valore educativo degli anziani è diminuito dal fatto che non hanno nessuno a cui insegnare.
Basilevs,

7

Avere troppi programmatori senior in una squadra può rivelarsi una cosa negativa?

Decisamente.

Sono un grande sostenitore del modello di squadra chirurgica di Fred Brooks .

Detto questo, se gli anziani di un team di sviluppo non sanno chi sia il "capo chirurgo", si scontreranno con importanti decisioni architettoniche e si muoveranno in direzioni diverse a danno del team.

PS Il bisogno di un "chirurgo capo" di un team di sviluppo è simile al bisogno di un direttore d'orchestra. In entrambi i casi, avrai probabilmente molti veterani; ma avrai un bel pasticcio senza una persona che è indiscutibilmente responsabile.


7
Solo le squadre in cui senior significa "cinque anni di esperienza" hanno bisogno di un "chirurgo capo". Tutti nella mia squadra hanno più di quarant'anni. Usiamo un modello completamente cooperativo per dividere un progetto. Siamo come un ensemble jazz.
bit-twiddler

2
Il modello del team chirurgico potrebbe funzionare per uno o due progetti, proprio come il micromanaging. In effetti, il micromanaging è spesso l'approccio migliore se a breve termine è tutto ciò che ti interessa. Tuttavia, a lungo termine, alla fine porta a lavoratori demoralizzati che non vengono sfidati al loro livello di abilità. Quindi i migliori lavoratori partiranno per migliori opportunità e quelli pigri e meno competenti rimarranno perché è abbastanza facile fare un lavoro quando ti viene detto esattamente cosa fare senza dover pensare da soli.
Dunk

1
Ed è giusto supporre di vederti come il capo chirurgo?
William Pietri,

3

Dipende da come sono distribuite le responsabilità. Se TUTTI gli sviluppatori Sr. dovessero avere la stessa responsabilità in merito alla progettazione, alla revisione del codice, ecc ..., potrebbe diventare un problema. Se gli vengono assegnate responsabilità diverse in modo tale da poter lavorare senza combattere il controllo sui rispettivi domini, allora non dovrebbe essere un problema - ad esempio, uno sviluppatore senior ha la responsabilità principale della progettazione del progetto, un altro viene incaricato di impostazione e manutenzione del repository dei sorgenti, un altro deve essere responsabile del testing delle unità, ecc


2
Ogni professionista del software nel mio team ha pari responsabilità e pari autorità. Siamo una squadra piccola ma di grande esperienza che svolge il lavoro di una squadra mista molto più ampia.
bit-twiddler

1
Se gli sviluppatori non sanno come lavorare in modo collaborativo, senza la necessità di domini definiti, non sono ancora senior.
William Pietri,

3

Avere troppi programmatori senior in una squadra può rivelarsi una cosa negativa?

Non necessariamente. Ho lavorato su piccoli team di sviluppatori senior altamente produttivi. Il livello del discorso era molto alto e non c'era rancore.

Con TDD, ci sono pochissimi grandi impegni per l'architettura software, quindi c'è poco bisogno di discuterne. Le decisioni di progettazione possono essere risolte semplicemente implementando entrambi gli approcci e vedendo quale funziona meglio. Poiché gli sviluppatori sono molto veloci, il costo di queste prove è molto basso.


2

Sì, può esserci il problema di avere troppi cuochi in cucina per una metafora applicabile. Potrebbe anche essere piuttosto costoso se tutti si aspettano alti salari. Si noti che questo sta solo verificando l'esistenza di un brutto caso e non dice nulla sulla sua probabilità.

L'ottimale dipende da un numero di variabili che non stai rivelando. Quale metrica vuoi usare realizzando che ci sono buone probabilità che alcuni giochi giochino al sistema qui. Allo stesso modo, quali vincoli hai nel tuo mondo che potrebbero renderlo diverso da quello che Google o Microsoft potrebbero avere al contrario.

Troppi sviluppatori senior possono avere il problema di nessuna convenzione o troppe convenzioni, penso. Mentre alcuni sviluppatori senior potrebbero essere bravi ad adattarsi, se nessuno di loro è probabile che introduca una convenzione, da dove parte una squadra? Al contrario, potrebbero esserci alcuni sviluppatori senior che sono fan sfegatati di alcune convenzioni che potrebbero richiedere una risoluzione dei conflitti per essere risolti.


2

Penso che dipenda dalle personalità degli anziani. Se sono arroganti e polemici, allora può essere una brutta cosa. Ma se sono tutti rispettosi, aperti ad altri punti di vista e disposti ad imparare gli uni dagli altri, allora hai una grande squadra.

Attualmente lavoro in un team di 8, di cui 5 o 6 senior, e funziona davvero bene per noi. Andiamo d'accordo, impariamo gli uni dagli altri ed è un ottimo ambiente di mentoring per i ragazzi più nuovi che abbiamo.


2
A mio modesto parere, il titolo "senior" trasmette anche un livello di maturità professionale.
bit-twiddler

Se gli sviluppatori senior sono arroganti e polemici, faranno male a qualsiasi squadra. È solo più ovvio con altri sviluppatori senior, perché sanno di non tollerare le cazzate.
William Pietri,

1

Ho lavorato in un team in cui c'erano 1 sviluppatore principale, 4 sviluppatori senior e 1 sviluppatore intermedio. E a causa del motivo per cui un membro "senior" del team non era una persona molto matura (un buon sviluppatore), si è rivelato un incubo. Ha cercato di dimostrare continuamente (implicitamente o esplicitamente) che gli altri membri del team non sono abbastanza anziani. Inoltre, non è riuscito a comprendere i principi di base dello sviluppo del software e le specifiche del nostro prodotto e, pertanto, ha cercato con arroganza e testardaggine di dimostrare che aveva ragione. Di conseguenza, ha compromesso seriamente l'efficacia della squadra. La parte triste è che non si trattava neppure di un argomento eccessivo su idee / soluzioni, ma di un argomento sul nulla . Per esempio:

  • che ha rotto la build (che per la maggior parte del tempo era green e, tecnicamente, non era rotta. era l'interfaccia utente che non funzionava correttamente molto spesso a causa delle scarse soluzioni architettoniche)
  • perché ci sono regressioni (i moduli non sono stati coperti da unit test a cui non abbiamo avuto accesso per contribuire)
  • discutere sulla soluzione architettonica nel modulo che è responsabilità di qualcun altro senza sapere nulla dei requisiti e delle specifiche del modulo.
  • ...

Ma ammetto che era piuttosto un'eccezione. Voglio credere che gli anziani si comportino correttamente la maggior parte del tempo :)


La persona che descrivi non è abbastanza matura per essere considerata senior anche se aveva quel titolo professionale.
bikeman868
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.