Je trouve les échelles bureaucratiques très bien.
A part ça, pas beaucoup. Les grands projets ont de grandes équipes parce qu'il n'y a pas d'autre moyen, pas parce qu'il est plus efficace (par développeur). Vous payez un coût dès que vous ajoutez une deuxième personne au mix en termes d'inefficacité (ie transfert de connaissances et communication).
Le plus grand projet sur lequel j'ai travaillé comptait environ 70 développeurs sur 5 sites différents. Même un changement d'une ligne a pris un jour minimum, bien que cela soit en partie dû au fait que la construction a pris plus de 45 minutes sur une liaison réseau de Zurich à Londres et le démarrage de l'application a pris encore 45 minutes. Les enregistrements ont pris environ 5 minutes par fichier. Je ne plaisante pas. Les développeurs de Londres pourraient le faire en une fraction du temps.
Quoi qu'il en soit, ce que vous avez tendance à trouver, c'est que sur les grands projets, vous aurez un groupe de membres de l'équipe avec lesquels vous n'interagissez pas beaucoup. Cela ressemble plus à une collection faiblement affiliée de mini-projets. J'ai lu une fois que le développement de Microsoft avait tendance à décomposer les projets en équipes de 5 à 7 développeurs, même pour les grands projets comme Microsoft Office.
Une partie de la différence est également la différence entre les petites et les grandes entreprises: les plus grandes ont généralement plus de processus, plus de règles, moins de flexibilité, etc. Mais ce n'est nullement garanti.
Cela peut être bon pour le développement de carrière. Dans une petite entreprise, quelqu'un doit quitter ou mourir avant de pouvoir obtenir une promotion (ou l'entreprise doit se développer de telle sorte que l'équipe s'agrandisse et que vous montiez), tandis que dans les grands départements de développement, vous pouvez vous déplacer entre les équipes, etc.
De plus, vous pouvez parfois trouver des personnes vraiment intelligentes auxquelles vous attacher et apprendre. Dans les petites entreprises, l'isolement et l'autonomie peuvent être propices à ce que les programmeurs deviennent un peu "étranges", en quelque sorte comme un ermite.