Uważam, że skala biurokracji jest naprawdę dobra.
Poza tym nie za dużo. Duże projekty mają duże zespoły, ponieważ nie ma innego wyjścia, nie dlatego, że jest bardziej wydajny (na programistę). Płacisz koszt, jak tylko dodasz drugą osobę do miksu pod względem nieefektywności (tj. Transferu wiedzy i komunikacji).
Największy projekt, nad którym pracowałem, miał około 70 deweloperów w 5 różnych witrynach. Nawet zmiana jednej linii zajęła minimum dzień, chociaż było to częściowo spowodowane faktem, że kompilacja trwała ponad 45 minut przez łącze sieciowe z Zurychu do Londynu, a uruchomienie aplikacji trwało kolejne 45 minut. Zameldowanie zajęło około 5 minut na plik. Nie żartuję. Londyńscy programiści mogli to zrobić w ułamku czasu.
W każdym razie często zdarza się, że przy dużych projektach masz grupę członków zespołu, z którymi nie wchodzisz zbyt często w interakcje. To bardziej jak luźno powiązana kolekcja mini projektów. Kiedyś przeczytałem, że rozwój Microsoft miał tendencję do dzielenia projektów na zespoły 5-7 programistów, nawet w przypadku dużych projektów, takich jak Microsoft Office.
Częścią różnicy jest także różnica między małymi i dużymi firmami: większe mają zwykle więcej procesów, więcej zasad, mniejszą elastyczność i tak dalej. Ale to wcale nie jest gwarantowane.
Może to być dobre dla rozwoju kariery. W małej firmie ktoś musi odejść lub umrzeć, zanim będzie można uzyskać awans (lub firma musi się rozwijać tak, że zespół się powiększa, a ty przesuwasz się w górę), podczas gdy w większych działach deweloperów możesz przemieszczać się między zespołami i tak dalej.
Ponadto czasami można znaleźć naprawdę inteligentnych ludzi, z którymi można się przywiązać i uczyć. W małych firmach izolacja i samowystarczalność mogą sprzyjać programistom nieco „dziwnym”, trochę jak pustelnik.