Blog PSI Polska

PSI prowadzi zajęcia na Wydziale Matematyki i Informatyki UAM

14.08.2019 - Praca w PSI

Chcąc pomóc początkującym programistom, PSI nawiązało współpracę z Wydziałem Matematyki i Informatyki Uniwersytetu im. Adama Mickiewicza. Stworzyliśmy przedmiot, który wprowadza studentów w świat programowania obiektowego, dobrych praktyk pisania kodu oraz osadza pracę programisty w realiach biznesowych.

PSI prowadzi zajęcia dla Wydziału Matematyki i Informatyki UAM 

Analizując rozmowy rekrutacyjne z kandydatami na stanowisko Młodszego Inżyniera Oprogramowania dostrzegliśmy, że wielu młodych, aspirujących na dobrych programistów, kandydatów, ma trudność ze spojrzeniem na swój kod w kontekście całego systemu. Nierzadko brakuje im doświadczenia w pisaniu prostego, czytelnego kodu bazowego, opierając się na dobrych praktykach. Kandydaci znają liczne narzędzia wspierające pracę developera przy jednocześnie niewielkiej wiedzy o tym jak skutecznie je wykorzystać do tworzenia oprogramowania i testowania go w efektywny sposób. Chcąc pomóc początkującym programistom, postawiliśmy na współpracę z Wydziałem Matematyki i Informatyki Uniwersytetu im. Adama Mickiewicza i stworzyliśmy przedmiot, który wprowadza studentów w świat programowania obiektowego, dobrych praktyk pisania kodu oraz osadza pracę programisty w realiach biznesowych.

W ramach tej współpracy, w semestrze letnim, studenci mogli uczestniczyć w zajęciach pod nazwą „Zaawansowane programowanie w Javie”. Program zajęć został w całości opracowany przez naszego kolegę – Przemysława Wieczorka.

W czerwcu odbyły się ostatnie zajęcia z drugiej edycji, prowadzone przez Przemka. Tego dnia studenci pracujący w grupach mieli za zadanie przedstawić projekty, nad którymi pracowali cały semestr. Po zakończonych zajęciach, chętni by otrzymać wyższe oceny, mogli podejść do egzaminu, a tych nie brakowało, pomimo pozytywnych ocen.

Przemku, jakie tematy poruszyłeś podczas pierwszego semestru zajęć?

W pierwszym semestrze skupiłem się bardziej na nauczaniu technologii takich jak JPA, EJB, Maven, Docker itd. Okazuje się, że studenci potrafią dość sprawnie zrozumieć daną technologię pod kątem technicznym, problem pojawia się jednak w abstrakcyjnym rozumieniu danych pojęć. W dzisiejszym świecie bardzo łatwo znaleźć kursy (często darmowe) tłumaczące techniczne zawiłości dowolnej technologii. Wystarczy napisać ${NAZWA TECHNOLOGII} quickstart w google i skarbnica wiedzy stoi przed nami otworem. Niestety w kursach tych bardzo rzadko znajdziemy informacje o minusach i koszcie technicznym omawianego rozwiązania.

PSI dla UAM

Jakie decyzje podjąłeś w związku z takimi obserwacjami?

W wyniku tych obserwacji druga edycja wyglądała całkowicie inaczej. Po rozmowach z Piotrem Augustyniakiem, HR Managerem w PSI, wspólnie zdecydowaliśmy, że zamiast uczyć technicznych aspektów skupimy się na przekazaniu abstrakcyjnej wiedzy, tzw. „Dobrych praktyk” programowania obiektowego. Głównym celem przedmiotu stało się wyjaśnienie studentom, że nie jest ważne ile technologii wypiszą w CV, a jak dobrze rozumieją uniwersalne zagadnienia takie jak: wzorce projektowe, testy jednostkowe czy zasady SOLID.

Jakie było zadanie studentów w ramach zaliczenia?

Wspólnie stworzyliśmy projekt gry bazujący na systemie walk znanym z Heroes of Might & Magic. Omówiliśmy m.in. dlaczego użycie wzorca dekorator do generowania kafelków mapy jest dobrym rozwiązaniem oraz dlaczego nie sprawdzi się w kontekście ulepszania jednostek czarami. Sprawdziliśmy, dlaczego kompozycja wygrywa z dziedziczeniem i wiele, wiele innych.

Jaka jest największa wartość, którą studenci wynieśli z Twoich zajęć?

Wiem, że wielu z kursantów zrozumiało różnice pomiędzy kodem studenckim, a kodem komercyjnym oraz zrozumiało jak należy myśleć obiektowo o kodzie. Przede wszystkim otworzyli oczy na testy jednostkowe oraz jakość swojego kodu.

Studenci, z którymi rozmawialiśmy po zakończonych zajęciach podkreślali, że są bardzo zadowolenia zarówno z prowadzenia zajęć przez Przemka jak i z treści, które przekazywał. Żałowali, że przedmiot trwa tylko jeden semestr, ponieważ jako jeden z niewielu, pokazuje praktyczne podejście do programowania.
Dodatkowo po zakończonych zajęciach zaprosiliśmy kilkoro studentów na rozmowy do naszej firmy, zyskując w ten sposób dobrze rokujących, przyszłych Developerów. Mamy nadzieję, że kolejne edycje przedmiotu będą równie owocne. 

 

pwieczorek

Przemysław Wieczorek

Software Developer R&D, PSI Polska Sp. z o.o.

W poprzednim życiu zawodowym był automatykiem. Ponad trzy lata temu podjął decyzję zmiany branży, by móc spędzać więcej czasu z córką. Padło na programistę Java mimo że tydzień wcześniej dowiedział się że Java i JavaScript to nie to samo. Wystarczyło mu niespełna pół roku, by dostać swój pierwszy etat młodszego programisty Java w firmie PSI. Dziś prowadzi na UAM przedmiot: „Zaawansowane programowanie w JAVA”.