Drogi przyjacielu,
Jako osoba, która pracowała w różnych firmach o różnej organizacji, powiadam Ci - wszystko zależy od firmy.
Ale na 99% wszystko zależy od projektu. Gdy firma ma duży projekt, wtedy wcielają Cię po prostu do zespołu. Jeśli projekt jest malutki, wtedy mogą dać Ci cały projekt - choć na starcie to raczej mało prawdopodobne, bo firma nie zleci nowemu materiałowi, którego jeszcze nie poznali, wykonania zadania od A do Z, stawiając swoją reputację na szali.
W większych firmach przeważnie pracuje się w metodykach zwinnych, poczytaj sobie o Agile, Scrum, Kanbanie, Sprintach, Standupach, Retrospekcjach itd.
I pamiętaj - nawet gdyby projekt miał być ogromniaście ogromny, wtedy i tak robi się go wdrażając jedną funkcjonalność po drugiej, małymi kroczkami. Więc jako nowicjusz na początku pewnie byś dostawał jakieś proste zadania, później coraz trudniejsze - choć wcale nie musi tak być. Ktoś może Cię po prostu zapytać - "Kolego, zajmiesz się tym?".
I pamiętaj - jeśli masz z czymś problemy, to od razu idź po pomoc, nie bój się pytać innych, odbierz to jako konsultacje z profesjonalistami.
Najgorsze co możesz zrobić to... powiedzieć, że poradzisz sobie z jakimś zagadnieniem, gdy wiesz, że tego aktualnie nie jesteś w stanie zrobić, a następnie mówić wszystkim, że jest OKAY, kiedy tak naprawdę siedzisz cicho przy kompie i szukasz na google rozwiązania. To najgorsze co możesz zrobić. W zespole liczy się komunikacja, jeśli widzisz w czymś problem, to od razu gadasz o tym z kolegami i informujesz kierownika projektu/managera/przełożonego/osobę odpowiedzialną za projekt, że jest problem i że coś zajmie sporo dłużej.
Co do work-flowu.
Pracując według "Agile'a".
1. Przed projektem jest
planowanie. Wtedy cały zespół się zbiera, przychodzi Analityk Biznesowy (osoba, która gadała z klientem i wyciągnęła czego klient chce), a następnie mówi co będzie trzeba zrobić. Tutaj wyznacza się rzeczy do zrobienia w określonym czasie. Np. Ustala się, że w ciągu tygodnia zrobi się rzecz X, Y, Z. Następnie ten okres czasu nazywa się "sprintem".
Później rzeczy X, Y, Z rozpisuje się na pojedyncze taski, typu: "przygotować schemat bazy danych", "stworzenie widoku dla strony głównej", itd. Głównie tworzy się "zadania", które nie powinny zajać dłużej niż 1 dnia. Na planowaniu ustala się także, kto ma się czym zająć.
2. Po planowaniu programiści zbierają swoje tyłki z sali konferencyjnej (tam przeważnie się planuje), następnie idą do swoich stanowisk i zaczynają pracować. Każdy wie co ma zrobić w danym dniu i to robi, aż do końca dnia.
3. Następnego dnia, rano, są tak zwane "stand upy", "daily", kiedy to zespół spotyka się rano i każdy na szybko streszcza co zrobił poprzedniego dnia, jakie spotkał problemy i co planuje zrobić dalej. Wszyscy na "stand upie" informują się nawzajem co zrobili itd. I tak sobie mijają dni, aż do końca sprintu, kiedy to następuje "code freeze" (wtedy wszyscy przestają wdrażać nowe funkcjonalności i jedynie poprawiają bugi).
4. Następnie jest "demo", czyli kontaktuje się z klientem, przedstawia mu to co zostało zrobione (prezentacja jest przeważnie zdalnie prowadzona).
5. Po spotkaniu z klientem następuje retrospekcja, czyli zespół spotyka się w sali i każdy mówi co poszło dobrze, co źle, jak można to poprawić. Każdy przedstawia swoje propozycje, następnie jest głosowanie, najlepsze propozycje są spisywane i próbuje się ich trzymać w następnym sprincie.
I znów... następnego tygodnia jest Planowanie, kodowanie, codziennie "stand upy", później code freeze, demo i retrospekcja.
Co do samej pracy - są różne oprogramowania do zarządzania projektami, bardzo popularna jest Jira i Confulence. Tam przechowuje się informacje dotyczące projektu, a także zapisuje wszystkie taski i aktualizuje dane kto pracuje nad czym (masz tabelkę typu "to do", "doing", "in testing", "done" i przeciągasz sobie swoje taski odpowiednio).
Co do kontroli wersji - teraz prym wiedzie GIT oraz GitFlow (jeden ze sposobów korzystania z Gita). Wystarczy, że poczytasz o "GitFlow" i będziesz wiedział wszystko o tym, jak się zarządza kodem).
Mam nadzieję, że te informacje coś Ci powiedzą.
Przy okazji - z powyższego sytemu nie korzystają wszystkie firmy, są takie, które mają swoje prawa, lub swoje "bezprawie". Pracowałem w kilku firmach (na początku mojej kariery), gdzie tak naprawdę była kompletna samowolka, po prostu zebrali grupę programistów, którzy nie mieli ani doświadczenia, ani pojęcia o pracy zespołowej i przekazywali im projekty - i każdy ORAŁ jak MÓGŁ (i było zabawnie).

Także wszystko zależy od tego gdzie trafisz. ; )