Trovo le scale della burocrazia davvero bene.
A parte questo, non molto. I grandi progetti hanno grandi team perché non c'è altro modo, non perché è più efficiente (per sviluppatore). Paghi un costo non appena aggiungi una seconda persona al mix in termini di inefficienza (ad es. Trasferimento di conoscenza e comunicazione).
Il più grande progetto a cui ho lavorato ha avuto circa 70 sviluppi in 5 diversi siti. Anche il cambio di una riga ha richiesto un minimo di un giorno, anche se in parte a causa del fatto che la costruzione ha richiesto oltre 45 minuti su un collegamento di rete da Zurigo a Londra e l'avvio dell'app ha richiesto altri 45 minuti. Il check-in ha richiesto circa 5 minuti per file. Non sto scherzando. Gli sviluppatori di Londra potrebbero farlo in una frazione del tempo.
Ad ogni modo, quello che tendi a trovare è che su grandi progetti avrai un sacco di membri del team con cui non interagisci così tanto. È più simile a una raccolta vagamente affiliata di mini progetti. Una volta ho letto che lo sviluppo di Microsoft tendeva a suddividere i progetti in team di 5-7 sviluppatori, anche per progetti di grandi dimensioni come Microsoft Office.
Parte della differenza è anche la differenza tra piccole e grandi aziende: quelle più grandi tendono ad avere più processi, più regole, meno flessibilità e così via. Ma questo non è affatto garantito.
Tuttavia, può essere utile per lo sviluppo della carriera. In una piccola azienda qualcuno deve partire o morire prima che tu possa ottenere una promozione (o la società deve crescere in modo tale che il team si espanda e ti muovi verso l'alto) mentre in dipartimenti di sviluppo più grandi puoi spostarti tra i team e così via.
Inoltre a volte puoi trovare alcune persone davvero intelligenti a cui attaccarti e da cui imparare. Nelle piccole aziende essere così isolati e autosufficienti può favorire i programmatori a diventare un po '"strani", una specie di eremita.