Я нахожу бюрократические весы очень хорошо.
Кроме этого, не так много. В больших проектах работают большие команды, потому что другого пути нет, а не потому, что он более эффективен (для каждого разработчика). Вы оплачиваете стоимость, как только добавляете в набор второго человека с точки зрения неэффективности (т.е. передачи знаний и коммуникации).
Самый большой проект, над которым я работал, имел около 70 разработчиков на 5 разных сайтах. Даже изменение одной строки заняло минимум один день, хотя это было отчасти из-за того, что сборка заняла более 45 минут по сетевому каналу из Цюриха в Лондон, а запуск приложения занял еще 45 минут. Регистрация заняла около 5 минут на файл. Я не шучу. Лондонские разработчики могли бы сделать это за короткое время.
В любом случае, вы склоняетесь к тому, что в больших проектах у вас будет куча членов команды, с которыми вы не так уж много общаетесь. Это больше похоже на сборник мини-проектов. Однажды я читал, что разработка Microsoft имела тенденцию разбивать проекты на команды из 5-7 разработчиков, даже для крупных проектов, таких как Microsoft Office.
Часть различий также заключается в разнице между малыми и крупными компаниями: более крупные, как правило, имеют больше процессов, больше правил, меньше гибкости и так далее. Но это ни в коем случае не гарантировано.
Это может быть полезно для развития карьеры, хотя. В небольшой компании кто-то должен уйти или умереть, прежде чем вы сможете получить повышение по службе (или компания должна расти так, чтобы команда расширялась, а вы двигались вверх), тогда как в больших отделах разработчиков вы можете перемещаться между командами и так далее.
Кроме того, иногда можно найти действительно умных людей, к которым можно присоединиться и учиться. В небольших компаниях, которые настолько изолированы и самостоятельны, программисты могут стать немного «странными», вроде отшельника.