Dlaczego programista nie powinien zapominać o portfolio? Po co je dołączać, jak powinno wyglądać i co w portfolio tak naprawdę się ocenia?
Dlaczego portfolio programisty jest ważnym elementem aplikacji?
– Pierwszym i podstawowym etapem weryfikacji kompetencji programisty jest CV. Jednakże z perspektywy rekrutera nie mniej istotnym dokumentem jest jego portfolio. Daje ono osobie weryfikującej aplikację pełniejszy obraz doświadczenia kandydata. Jest rozszerzeniem informacji zawartych w CV – mówi Agnieszka Grzelka, Junior Resource Project Manager w CONNECTIS_.
W wielu firmach oczekuje się od programisty przesłania portfolio zamiast listu motywacyjnego, (którego od programistów prawie się już nie wymaga). Dlaczego?
Z perspektywy pracodawcy dobre portfolio programisty:
• pokazuje, z jakimi typami projektów pracownik miał do czynienia,
• w jaki sposób rozwiązuje problemy (jakie strategie stosuje),
• jak podchodzi do programowania,
• jaki jest pisany przez niego kod (schludny, czysty, zoptymalizowany, efektywny czy chaotyczny, pełen błędów, niezoptymalizowany),
• czy zna najnowsze technologie i rozwiązania oraz z nich korzysta (dlatego ważne jest zamieszczanie w portfolio dat, kiedy dane projekty były realizowane),
• czy zna dobrze daną technologię czy zaledwie wybiórczo.
Z perspektywy pracownika portfolio:
• pozwala uporządkować doświadczenie i przedstawić je pełniej niż w CV,
• pokazuje realne doświadczenie i wiedzę (co pozwala lepiej dopasować programistę do profilu firmy lub projektu, a to jest szczególnie ważne w przedsiębiorstwach zajmujących się rekrutacją IT. Dzięki temu programista dostanie się do firmy, w której faktycznie ma szansę sprawdzić się, rozwijać bądź mieć zadania, które będą wyzwaniem),
• jasno pokazuje, co programista umie, a czego nie robił (co zwrotnie owocuje oszczędzaniem czasu obu stron. Programista nie jest zapraszany do rekrutacji na stanowiska, na które byłby za słaby bądź nudziłby się na nich),
• jeśli jest stale dostępne online, może być źródłem ciekawych ofert pracy.
Co powinno znaleźć się w portfolio programisty
Kandydat w portfolio może zamieścić szczegółowy opis realizowanych przez siebie zadań, linki odsyłające do wykonanych projektów, aplikacji, czy też stron WWW.
Nie należy zawierać w portfolio wszystkich projektów, w których uczestniczył specjalista. Przed jego stworzeniem należy zebrać wszystkie prace i przeprowadzić selekcję. Celem portfolio jest przedstawienie najważniejszych projektów, takich, które najlepiej oddają styl pracy kandydata, czy też takich, które pasują do danej oferty pracy.
Przykładowe portfolio programisty
Dobre portfolio powinno składać się z:
• kilku słów o sobie,
• prezentacji prac i projektów oraz ich przykładów w różnych formach,
• rekomendacji od klientów czy współpracowników,
• linków do dobrze uzupełnionych profili na portalach społecznościowych.
Ważne, by zaprezentować swoje kompetencje wszechstronnie. Dobrym rozwiązaniem jest pokazanie rysu historycznego (pozwala ocenić to, jak programista się rozwija) oraz potraktowanie każdego przykładu problemowo (jakie było zadanie, jak zostało rozwiązane i jakie były tego efekty).
Dokument czy strona portfolio programisty?
– Portfolio może mieć formę dokumentu, prezentacji, własnej strony internetowej lub innych wersji online w specjalnie do tego przeznaczonych serwisach, platformach lub portalach społecznościowych. Tworząc portfolio, należy zadbać także o jego stronę wizualną oraz o to, aby informacje były prezentowane w ciekawy i przejrzysty sposób – radzi Agnieszka Grzelka.
W internecie znaleźć można dziesiątki serwisów do tworzenia portfolio, a inwestycja we własną stronę www to zaledwie kilkadziesiąt złotych rocznie (hosting + domena).
Co rekruterzy oceniają w portfolio programisty?
Przede wszystkim warto pamiętać, że to nie rekruterzy z działu HR, ale specjaliści IT (czyli inni developerzy) dokonują analizy i oceny dostarczonego portfolio (oczywiście niekiedy specjalistą HR może być również developer).
– W CONNECTIS_ portfolio wykorzystywane jest najczęściej wtedy, kiedy klient, dla którego rekrutujemy wymaga jego przedstawienia. Sprawdza się ono w szczególności w przypadku grafików oraz front-end lub web developerów. Dla rekruterów stanowi ono jednak tylko dodatkowe źródło informacji, na pierwszym miejscu stawiane jest CV. Najczęściej zatem analiza portfolio jest dopiero drugim elementem rekrutacji bądź jest prowadzona równolegle, wraz z analizą CV i służy do określenia poziomu biegłości w danym języku bądź technologii – wyjaśnia Agnieszka Grzelka.
Jak wykorzystuje się portfolio podczas rozmowy rekrutacyjnej?
Warto pamiętać, że portfolio programisty nie jest wykorzystywane jedynie do oceny tego, czy zaprosić programistę na rozmowę kwalifikacyjną, ale również podczas spotkania rekrutacyjnego.
Analizuje się wtedy przedstawione przez programistę projekty i rozwiązania, by sprawdzić m.in., czy potrafi przyjmować krytykę, uczy się i rozwija (i w związku z tym obecnie kod programu, który pisał 4 lata temu napisał by lepiej), czy faktycznie samodzielnie napisał dane fragmenty, zawsze szuka optymalnego rozwiązania czy też poprzestaje na pierwszym algorytmie.
Przesyłając portfolio wraz z CV należy spodziewać się szeregu pytań o projekty podczas rozmowy kwalifikacyjnej. Często dotyczą tego, które zadania były dla programisty najbardziej interesujące, czy coś by teraz poprawił w danym kodzie, dlaczego wybrał takie, a nie inne rozwiązania.
Portfolio programisty a prawo autorskie
Czy programista może bez problemu przedstawić w swoim portfolio kod źródłowy wykonanych przez siebie prac? Wszystko zależy od umowy z osobą, dla której kod ten był tworzony. Nieco inne zasady będą obowiązywać przy umowie o pracę, a inne przy umowie cywilnoprawnej. Ważne jest również to, czy pracownik podpisał klauzulę poufności.
Przy umowie o pracę autorskie prawa majątkowe do tworzonych przez pracownika w ramach stosunku pracy dzieł (czyli również kodu) przechodzą automatycznie na pracodawcę. W związku z tym często przyjmuje się, że pracownik bez zgody pracodawcy takimi projektami nie powinien się chwalić.
Z drugiej jednak strony, jeśli publikujemy prace tylko w celu zaprezentowania swoich umiejętności twórczych, to sąd może to uznać za realizację autorskich praw osobistych (a te są niezbywalne).
W związku z różnymi możliwościami interpretacji, które w przypadku kodu programistycznego mogą zależeć również od tego, jakie fragmenty zostały udostępnione, znacznie bezpieczniej jest zawczasu zadbać o wyraźną zgodę pracodawcy na zawieranie fragmentów kodu w portfolio i ich publiczne udostępnianie. Dobrą praktyką jest też umieszczanie w portfolio zrzutów z ekranu, a nie całościowego kodu (bądź jego istotnych fragmentów pozwalających na skopiowanie np. całej funkcjonalności).
Z kolei umowy cywilne – czyli aplikacje pisane na zlecenie czy w ramach umowy o dzieło, to inna sytuacja. Tu warunki udostępniania dzieła w portfolio powinna regulować umowa.
W obu przypadkach z publikowaniem informacji w portfolio warto się wstrzymać, jeśli pracownik podpisał klauzulę poufności. W takim przypadku najbezpieczniej jest jedynie opisać projekt (dany problem) i sposób jego rozwiązania, ale tak, by niemożliwe było zidentyfikowanie zleceniodawcy bądź konkretnej aplikacji.
Przy publikowaniu portfolio oraz opisywaniu własnego kodu nie wolno zapominać o innych współtwórcach. Nie trzeba ich wymieniać z nazwiska (chyba, że w umowie są odpowiednie zapisy), ale może być wymagana ich zgoda. Poza tym trzeba pamiętać, że portfolio powinno odzwierciedlać umiejętności aplikującej na stanowisko osoby, a nie jego byłych współpracowników.