Projekt Grupowy, który zmienił oblicze ich nauki [i był zwyczajnie przyjemny] (Wspólna Nauka Programowania)

Opowiem Ci dziś o projekcie grupowym, który miałem przyjemność poprowadzić w drugiej połowie poprzedniego roku.

To, że praca w grupie i z mentorem nad konkretnym celem jest jedną ze skuteczniejszych technik nauki, od dawna nie było dla mnie zaskoczeniem. Między innymi dlatego, gdy pracowałem nad programem . Jedną z rzeczy, na których mi zależało było zawarcie tych dobrych praktyk w agendzie szkolenia.

Praca w grupie – framework 

W ten sposób powstał swego rodzaju framework, który miał za zadanie zebranie w jednym miejscu wszystkich potrzebnych informacji, by rozpocząć pracę w grupie. Dzięki tym dobrym praktykom zainteresowane osoby mogły samodzielnie stworzyć grupę, określić swoje wymagania, opracować założenia i przejść już do konkretnej pracy nad swoją aplikacją.

Idea wydawała się słuszna – jednak jak przekonać do niej bardziej sceptycznie nastawione osoby?

Dajmy dobry przykład i zamieńmy teorię w praktykę

Wiedziałem jednak, że same – nawet najlepsze materiały, to zazwyczaj za mało, by pociągnąć „tłumy”. 🙂

Często potrzebny jest jeszcze dobry przykład, który jak ta mała iskierka może być początkiem czegoś znacznie większego.

Postanowiłem, że sam poprowadzę jedną z takich grup i pokażę na żywym przykładzie, że można i jakie to jest skuteczne.

Założenia nowo powstałej grupy bojowej

Zależało mi, żeby dość szybko zweryfikować wszystkie założenia nowego pomysły. Do Świąt Bożego Narodzenia zostało akurat trochę ponad 3 miesiące – przypadek? 🙂 A co gdyby tak zamknąć ten rok już z czystą głową przynajmniej w tym temacie? To była bardzo kusząca myśl!

Tak też zrobiliśmy i było to jedno z naszych głównych założeń – mamy bardzo ograniczony czas – 3 miesiące i po tym okresie niezależnie od wyników mówimy „sprawdzam” dla naszych założeń i pracy.

Wspólna Nauka Programowania – czas start!

Pierwsze spotkanie odbyło się 10.09.2021, a ostatnie 17.12.2021 – tydzień przed wigilią.

5 osób:

  • Tomek,
  • Agnieszka,
  • Bartek,
  • Dawid
  • i Ja 🙂

5 dorosłych osób – różni ludzie, różne problemy, różne kalendarze… Jak to wszystko ogarnąć?

Miejsce, czas i terminy spotkań są święte!

Każdy, kto kiedykolwiek próbował zebrać grupę dorosłych ludzi w jednym miejscu i czasie wie, jakie to jest trudne… Każdy ma swoje życie, swoje problemy – czasem również wymówki, ostatecznie jesteśmy tylko ludźmi.

Wiedziałem, że nie będzie to proste, dlatego po pierwszych wstępnych negocjacjach ustaliliśmy na sztywno jeden termin spotkań:

Czwartek, godzina 19:00, online zawsze w tym samym pokoju na Zoom.

Nie możesz przyjść? Spóźniasz się? => To jesteś stratny… bo my musimy iść dalej.

Zaczynamy spotkanie i idziemy dalej z tematem.

Samoorganizujacy się zespół

Samoorganizujący się zespół to taki Święty Graal, do którego wiele firm i kierowników dąży, jednak mało komu udaje się to osiągnąć.

Sama idea jest jednak dość prosta i polega na nie narzucaniu z góry zadań i obowiązków dla poszczególnych członków zespołu, a stworzeniu im odpowiedniego „ekosystemu” tak, by sami mogli to zrobić. Zgodnie z tą ideą zespół i poszczególni członkowie najlepiej wiedzą, w czym są dobrzy, w czym mają braki i jeżeli tylko będą kierowali się wspólnym dobrem projektu, to będą razem podejmować możliwie optymalne decyzje.

Czy to nie za głęboka woda dla Juniorów?

Hola, hola – przecież nasz zespół składał się z samych juniorów! A dokładniej mówiąc, z osób aspirujących do miana Junior Developera. Czy to nie jest zbyt optymistyczne założenie dla takich osób?

Też się tego obawiałem. 🙂

Nie chodziło jednak, bym to ja kierował tą grupą – to nie ja miałem się uczyć, tylko oni. Dlatego starałem się stać z boku i możliwie nie przeszkadzać i tylko lekko moderować spotkania, gdy była taka potrzeba. Czasem podrzucić jakąś myśl, czy nazwę technologii lub zwyczajnie zadać pytanie, które skłoni do samodzielnej refleksji.

Efekt końcowy wspólnego projektu

Ostateczny rezultat przerósł nawet moje najśmielsze oczekiwania. Wiedziałem, że tego typu praca jest MEGA skuteczna, jednak nie, że aż tak! 🙂

Powstał projekt, który wdrożyliśmy wspólnie na naszą produkcję. Właściwie prace po mojej stronie ograniczyły się tylko do przygotowania dostępów do serwera, bo resztę zrobił Bartek. 🙂

Tutaj screen fragmentu powstałej aplikacji.

Aplikacja KierunekProgramista

Narzędzia używane podczas pracy nad projektem

Narzędzia – czyli samo mięsko. 🙂

Podrzucam listę narzędzi, z których korzystaliśmy, bo wiem, że wiele osób może być tym zainteresowanych.

  • Komunikacja głównie przez zadania w Asana, oraz cykliczne spotkanie na Zoom
  • IDE Intellij Idea
  • git i GitHub jako repozytorium projektu
  • GitHub Actions do automatyzacji CI, CD
  • Baza danych PostgreSQL
  • backend: Java, Maven, jUnit, Liquibase, Spring Framework
  • frontend: Thymeleaf oraz Bootstrap
  • i ostatecznie aplikacja była zdeployowana na serwerze z Google Cloud

Też chciałbyś stworzyć aplikację?

Teraz Twój ruch. Jeszcze tylko do wtorku (do jutra) do godziny 22:00 możesz dołączyć do nowo powstającego projektu: .

W ramach tego projektu też planuję pomóc kursantom zebrać się w takie grupy

Opinia uczestnika programu

Podoba się?

To tutaj:


20+ BONUSOWYCH materiałów z programowania

e-book – „8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista”,
e-book – „Java Cheat Sheet”,
checklista – „Pytania rekrutacyjne”
i wiele, wiele wiecej!

Jak zostać programistą

2 komentarze
Share:

2 Comments

    1. Tomek says:

      Trochę skrajnie to przedstawiłeś – jednak coś w tym jest 😉
      Pamiętam swój projekt inżynierski – 2 osoby i 4 miesiące pracy.
      Rok później prawie identyczną aplikację zrobiłem podczas jednego laboratorium…
      Ma to jednak swoje plusy – widać, że się rozwijamy! 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *