Encuentro que la burocracia escala muy bien.
Aparte de eso, no mucho. Los proyectos grandes tienen equipos grandes porque no hay otra manera, no porque sea más eficiente (por desarrollador). Usted paga un costo tan pronto como agrega una segunda persona a la mezcla en términos de ineficiencia (es decir, transferencia de conocimiento y comunicación).
El proyecto más grande en el que trabajé tenía aproximadamente 70 desarrolladores en 5 sitios diferentes. Incluso un cambio de una línea tomó un mínimo de un día, aunque eso se debió en parte al hecho de que la construcción tardó más de 45 minutos en un enlace de red de Zurich a Londres y el inicio de la aplicación tomó otros 45 minutos. Los registros demoraron unos 5 minutos por archivo. No estoy bromeando. Los desarrolladores de Londres podrían hacer esto en una fracción del tiempo.
De todos modos, lo que sueles encontrar es que en proyectos grandes tendrás un montón de miembros del equipo con los que no interactúas tanto. Es más como una colección de mini proyectos libremente afiliados. Una vez leí que el desarrollo de Microsoft tendía a dividir los proyectos en equipos de 5-7 desarrolladores, incluso para proyectos grandes como Microsoft Office.
Parte de la diferencia es también la diferencia entre pequeñas y grandes empresas: las grandes tienden a tener más procesos, más reglas, menos flexibilidad, etc. Pero eso de ninguna manera está garantizado.
Sin embargo, puede ser bueno para el desarrollo profesional. En una empresa pequeña, alguien tiene que irse o morir antes de que pueda obtener un ascenso (o la empresa tiene que crecer para que el equipo se expanda y usted se mueva hacia arriba), mientras que en departamentos de desarrollo más grandes puede moverse entre equipos, etc.
Además, a veces puede encontrar algunas personas realmente inteligentes para unirse y aprender. En las pequeñas empresas, estar tan aislados y ser autosuficientes puede ser propicio para que los programadores se vuelvan un poco "extraños", como un ermitaño.