Troppi anziani in una squadra? [chiuso]

15

Riuscire a disporre di troppi programmatori esperti in una squadra risulta essere una brutta cosa?

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 discussioni sulle idee?

Qualcuno ha avuto un'esperienza del genere, che può condividerlo con me?

    
posta TheBoyan 01.04.2011 - 19:21
fonte

8 risposte

40

Se potessi scegliere avrei 6-7 anziani in una squadra (supponendo che il progetto ne richieda molti).

L'unica volta in cui riesco a vedere questo problema è se gli anziani sono solo senior nell'auto percezione e non nell'etica del lavoro.

Non c'è niente di meglio che lavorare con un gruppo di persone che apprezzano il fatto che ogni sviluppo del software è importante - la documentazione, la pianificazione, il codice, il caffè, tutto ciò che conta e ci vogliono sviluppatori maturi (veri senior) per essere "sopra il nulla" e svolgere il lavoro correttamente.

EDIT : molte altre risposte hanno detto che troppi leader sono un problema - ma perché esiste una percezione che un anziano deve guidare? Un anziano dovrebbe essere abbastanza maturo da scegliere un leader e seguire. È il progetto che conta - prendi / prendi un ruolo e scuotilo!

    
risposta data 01.04.2011 - 19:30
fonte
10

Il problema più grande che vedo con il caricamento di una squadra con programmatori esperti è che potrebbe indebolire altri team. Se hai sviluppatori junior in altri team che necessitano di tutoraggio e orientamento, potrebbe essere necessario spostare le persone intorno.

Can this lead to too much philosophy and arguments about ideas?

Certo che può , ma dovrebbero essere abbastanza maturi per sapere quali differenze importano e quali no. Se hai designato un team leader rispettato, questo tipo di argomenti filosofici dovrebbe essere ridotto al minimo con poco sforzo.

    
risposta data 01.04.2011 - 19:38
fonte
7

Can having too many senior programmers in one team turn out to be a bad thing?

Sicuramente.

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

.

E con questo detto, se gli anziani di un team di sviluppo non sanno chi sia il "capo chirurgo", allora si scontreranno con importanti decisioni architettoniche e porteranno in direzioni diverse a scapito della squadra .

P.S. Il bisogno di un "capo chirurgo" da parte del team di sviluppo è simile a quello di un direttore d'orchestra. In entrambi i casi, probabilmente avrai molti veterani; ma avrai un bel casino senza una persona che è indiscussamente responsabile.

    
risposta data 01.04.2011 - 19:28
fonte
3

Dipende da come vengono distribuite le responsabilità. Se TUTTI gli Sr. Devs dovessero avere la stessa responsabilità in termini di progettazione, revisione del codice, ecc ... allora potrebbe diventare un problema. Se hanno responsabilità diverse tali da poter lavorare senza lottando per il controllo sui rispettivi domini, allora non dovrebbe essere un problema - ad esempio, un Senior Dev assume la responsabilità principale della progettazione del progetto, un altro deve essere responsabile della creazione e del mantenimento del repository sorgente, un altro deve essere responsabile del test delle unità, ecc ...

    
risposta data 01.04.2011 - 19:29
fonte
3

Can having too many senior programmers in one team turn out to be a bad thing?

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

Con TDD, ci sono pochissimi grandi impegni per l'architettura del 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.

    
risposta data 01.04.2011 - 21:03
fonte
2

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

L'ottimizzazione dipende da un numero di variabili che non stai divulgando. Quale metrica vuoi usare rend contoere che ci sono buone possibilità di giocare il sistema qui. Allo stesso modo, quali vincoli hai nel tuo mondo che potrebbero renderlo diverso da quello che potrebbe avere Google o Microsoft in contrasto.

Troppi sviluppatori senior possono avere il problema di nessuna convenzione o troppe convenzioni che penserei. Mentre alcuni sviluppatori senior possono essere bravi ad adattarsi, se nessuno di loro è in grado di introdurre una convention, da dove inizierà una squadra? Al contrario, potrebbero esserci alcuni sviluppatori senior che sono fan sfegatati di alcune convenzioni che potrebbero richiedere una risoluzione dei conflitti da risolvere.

    
risposta data 01.04.2011 - 19:30
fonte
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 a imparare gli uni dagli altri, allora hai una grande squadra.

Attualmente lavoro con una squadra di 8 persone, dove 5 o 6 sono senior e funziona davvero bene per noi. Andiamo d'accordo, impariamo gli uni dagli altri, ed è un ottimo ambiente di mentoring per i nuovi ragazzi che abbiamo.

    
risposta data 01.04.2011 - 21:15
fonte
1

Ho lavorato in un team in cui c'erano 1 sviluppatori principali, 4 sviluppatori senior e 1 sviluppatore intermedio. E a causa del fatto che un membro "senior" del team non era una persona veramente matura (un buon sviluppatore però), si è rivelato un incubo. Ha cercato di dimostrare tutto il tempo (implicitamente o esplicitamente) che gli altri membri del team non sono abbastanza alti. Inoltre non è riuscito a comprendere i principi di base dello sviluppo del software e le specifiche del nostro prodotto e, quindi, ha cercato con arroganza e testardaggine di dimostrare di avere ragione. Di conseguenza, ha seriamente compromesso l'efficacia della squadra. La parte triste è che non si è trattato di troppe discussioni su idee / soluzioni: era una discussione su nothing . Ad esempio:

  • chi ha rotto la build (che per la maggior parte del tempo era verde e, tecnicamente, non era infranto, era un'interfaccia utente che non funzionava correttamente molto spesso a causa delle scarse soluzioni architettoniche)
  • perché ci sono regressioni (i moduli non erano coperti da unit-test a cui non avevamo accesso per contribuire)
  • discutendo su una soluzione architettonica in un modulo che è la responsabilità di qualcuno senza conoscere nulla sui requisiti e le specifiche del modulo.
  • ...

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

    
risposta data 10.01.2012 - 14:32
fonte

Leggi altre domande sui tag