Strona główna / Artykuły / Zadbaj o swoje programistyczne portfolio

Zadbaj o swoje programistyczne portfolio

Portfolio to dla każdego projektanta, fotografa czy grafika rzecz święta. Dlaczego w programowaniu miałoby być inaczej? Przekonajcie się, że warto zadbać o prezentację efektów swojej pracy.

Przemek Smyrdek

2019-08-16

Ciężki dzień w pracy. Kilkanaście godzin spędzonych nad jednym problemem, którego i tak nie udaje się rozwiązać do końca. A było tak blisko... Powrót późnym popołudniem, w pełnym słońcu. Ostatnie kilometry pieszo, bo okoliczne przystanki zostały wyłączone przez remonty dróg. W głowie myśli związane z aktualnie realizowanym projektem. Pojawia się plan na kolejny post, ale przecież dobrze byłoby odpocząć. No a chciałem jeszcze nagrać film. Jak to wszystko zmieścić w 24 godzinach? Może warto odpuścić?

Do mieszkania jeszcze tylko kilkadziesiąt metrów. Nagle sygnał - powiadomienie. Sprawdzam telefon. Youtube? O tej porze? Przecież już dawno nie wrzucałem niczego nowego.

Szkoda ze tak rzadko robisz filmiki, przeczytalem wszystko na blogu i obejrzalem wszystko, dajesz kopa do działania :)

Wow.

Zmiana nastroju o 180 stopni. Losowy komentarz na kanale wziął mnie z zaskoczenia - całkowicie odmienia mój nastrój a zmęczenie jakby o połowę mniejsze. Świat znowu daje sygnał, że to wszystko ma jakiś sens. A przecież mówili, że programowanie to kod, a nie filmy w internecie...

Czego uczy nas świat designu?

Kiedy kilka lat temu zajmowałem się jeszcze grafiką komputerową, to jednym z najważniejszych celów było dla mnie stworzenie wysokiej jakości portfolio podsumowującego moje doświadczenie. Zresztą był to cel i zajęcie każdego, kto myślał o zajmowaniu się tym na poważnie. Nie wiadomo, kiedy potencjalny pracodawca zapyta o realizowane dotąd projekty, więc warto być gotowym.

Osoby zajmujące się szeroko rozumianym projektowaniem, graficy czy specjaliści od fotografii portfolio mają we krwi. Już w trakcie aplikowania do szkół takich jak ASP prezentujesz co robiłeś do tej pory i czy z własnej woli rozwijasz swoje umiejętności. Po szkole, już na ścieżce zawodowej, wygląda to podobnie. Agencje reklamy oraz domy mediowe chwalą się kolejnymi zrealizowanymi kampaniami, wymieniają otrzymane nagrody i wspominają klientów którzy im zaufali. Jednym słowem - dokumentują. Dokumentują swoje prace i zostawiają po sobie ślad wszędzie gdzie to możliwe.

Przewijając moje “graficzne” doświadczenia o kilka lat wprzód z zaskoczeniem stwierdzam, że dla wielu programistów dokumentowanie swojej pracy, doświadczenia czy dbanie o swój wizerunek na platformach społecznościowych to strata czasu. Bzdura, która nie przynosi niczego dobrego. Koronny argument? Przez najbliższe kilkadziesiąt lat zapotrzebowanie na programistów i tak nie spadnie, więc oferty będą się pojawiać na moim biurku ot tak - bez większego wysiłku.

Można? No pewnie, że można.

Dla mnie jednak brzmi to tak, jakbyś oddawał decyzję o kierunku w którym pójdziesz osobie trzeciej. “Ktoś” podrzuci ofertę pracy, “ktoś” weźmie mnie do firmy, “ktoś kiedyś” zapyta jakie projekty realizowałem do tej pory.

Portfolio? Dokumentacja i pozostawianie śladu? A po co to komu?

Wpływ na karierę programisty

Można powiedziedzieć, że praca programisty różni się od pracy webdesignera czy fotografa tak bardzo, że wszystkie podejścia do tworzenia portfolio będą czymś zbędnym, realizowanym na siłę. Pozwól więc, że przedstawię ci kilka przykładów tego, jak bycie otwartym w kwestii swojego doświadczenia wpływa moim zdaniem na karierę programisty.

Stwórz wokół siebie sieć specjalistów

Pewnie część z was kojarzy moją działalność na blogu PoznajProgramowanie.pl. Przez prawie trzy lata pisaliśmy tam o rozwoju programisty, o problemach technicznych i rozmaitych aspektach pracy w naszym zawodzie. Co więcej, promowaliśmy efekty naszej pracy gdzie tylko się dało, dzięki czemu wokół bloga zgromadziła się całkiem spora społeczność pasjonatów programowania. Czy wiecie jednak, że bez tamtego projektu prawdopodobnie nie byłoby mnie teraz w przeprogramowanych?

Za projektem Przeprogramowani.pl stoi trzech pasjonatów programowania - Adam, Marcin oraz ja, Przemek. Jak to się stało, że w ogóle wpadliśmy na siebie i postanowiliśmy stworzyć coś razem? Tak się składa, że pierwsze interakcje z Marcinem to sekcja komentarzy na PoznajProgramowanie. Tam po raz pierwszy dyskutowaliśmy i wymienialiśmy się poglądami - Marcin poznał moją działalność, ja poznałem AlgoSmart, a potem okazało się, że mieszkamy i pracujemy w tym samym mieście mając bardzo podobne plany na siebie w przyszłości.

Podobnie, przy okazji innego projektu, który promowałem publicznie, przecięły się moje drogi z Adamem. Pomagał mi on rozwijać tworzony przeze mnie agregator wiedzy dzieląc się feedbackiem na jego temat. Co ciekawe, Adam jest osobą, która znała nas obu jeszcze przed tym, jak razem z Marcinem mieliśmy okazję porozmawiać na żywo. Poznając się nawzajem postanowiliśmy przejść od słów do czynów i stworzyć miejsce w którym aktualnie się znajdujesz.

Główna przyczyna takiego - jakby to niektórzy określili - zbiegu okoliczności? Każdy z nas dokumentował i promował na forum publicznym to co robi, podświadomie skupiając wokół siebie innych specjalistów z tej samej branży. Adam, działając pod marką overment, Marcin, tworząc AlgoSmart i ja, będąc zaangażowanym w PoznajProgramowanie. Efekty pracy każdego z nas były otwarte i dostępne dla każdego, dzięki czemu w pewnym momencie zaczęliśmy ze sobą współpracować tworząc projekt, który - z czym zgadza się cała trójka - ma większy potencjał od wszystkiego co robiliśmy na własną rękę.

Daj się… nauczyć

Otwierając ten wpis wspominałem o komentarzu, którzy całkiem niespodziewanie poprawił mój nastrój danego dnia. Tym razem był to komentarz pozytywny, w którym autor docenia moje starania, ale oczywiście jest też druga strona medalu. Mowa o komentarzach i opiniach w których dowiadujesz się jak niewiele wiesz na dany temat (zapomnijmy na chwilę o znanym i lubianym hejcie).

Przykładowo, kilka miesięcy temu nagrałem film o tym, jak na przestrzeni kilku ostatnich lat zmieniała się sytuacja w świecie front-endu. Nie popełniłem tam rażących błędów merytorycznych, jednak - szczerze przyznaję - przed nagraniem filmu mogłem spędzić o kilka godzin więcej przygotowując się do przedstawienia tego tematu. Wyszło jak wyszło, ale kilka osób w komentarzach postanowiło przedstawić zdecydowanie bardziej głębokie opracowanie tematyki o której mówiłem. Moja reakcja? Wiadomo, na początku raczej negatywna - w końcu ktoś wytyka mi błąd a tego nikt nie lubi. Kilka godzin później? Zgoda, mogłem przyjrzeć się temu tematowi zdecydowanie głębiej. Kolejna lekcja odebrana.

Jest to jeden z wielu przykładów tego, jak dokumentacja swojej pracy przez publikowanie otwartych repozytoriów, dzielenie się wiedzą czy opisywanie rozwiązań wybranych problemów to znakomita okazja do nauki… samego siebie. Dla niektórych mój kanał na YouTube to jedynie sposób na promowanie się i zaspokajanie ego. Choć pewnie jest to częściowo prawda, bo w końcu to element pracy nad moją marką osobistą, to przez tego typu działalność uczę się bonusowych porcji wiedzy, niejako za darmo.

Nauka poprzez krytyczne komentarze na swój temat nie jest czymś, o czym wielu z nas marzy, jednak po oddzieleniu hejtu i ataków personalnych od rzeczowych argumentów okazuje się, że z tego typu działalności możemy zyskać wiele dobrego.

Wypracuj swoje własne okazje bramkowe

W piłce nożnej często mówi się, że zespół grający pasywnie nie stwarza sobie wystarczającej liczby tzw. “okazji bramkowych”. Mowa tutaj o sytuacjach, w których nie skupiamy się stricte na zdobyciu gola, ale w ogóle na stworzeniu szansy przez dostarczanie piłki w okolice bramki przeciwnika. Wiadomo, że o zdobywaniu bramek możemy zapomnieć jeśli całe 90 minut rozgrywamy piłkę na własnej połowie, więc okazje bramkowe to pewnego rodzaju wyznacznik aktywności danego zespołu.

Ty sam, jako programista, możesz również “rozgrywać” swoją karierę na dwa sposoby. Możesz robić to pasywnie i liczyć na to, że świat po prostu postawi przed tobą ofertę nie do odrzucenia, albo możesz wziąć sprawy w swoje ręce i wypracować daną szansę w sposób aktywny, z własnej inicjatywy. Na podstawie własnego doświadczenia zaproponuję ci jedno z możliwych rozwiązań.

Jako programista który uwielbia dzielić się wiedzą, od czasu do czasu szukam dla siebie nowych wyzwań. Jakiś czas temu postanowiłem na przykład, że do pisania po polsku dołożę język angielski, dzięki czemu zwiększy się grupa potencjalnych odbiorców tego co tworzę.

No dobrze, ale czy w internecie istnieją miejsca dla programistów dzielących się wiedzą w języku angielskim?

To oczywiście pytanie retoryczne - takich miejsc jest setki. O ile na wielu z nich publikowanie nowych treści jest otwarte dla każdego (Medium, dev.to), to na innych twój profil musi najpierw zostać zweryfikowany, a doświadczenie potwierdzone. Problem pojawia się wtedy, kiedy ani weryfikacja ani potwierdzenie doświadczenia nie może być zrealizowane. Blog? Zero. GitHub? Pusto. Projekty open source? Nope. Profile na LinkedIn? Aktualizowany na studiach. Gdyby spędzić chociaż jeden dzień (jeden na kilkanaście lat kariery) na poprawie tej sytuacji - wrzuceniu kilku projektów z szuflady na GitHuba, zaktualizowaniu doświadczenia na LinkedIn, napisaniu jednego czy dwóch postów o tematyce technicznej - to nagle okazałoby się, że dziwnym trafem świat proponuje nam kierunki rozwoju, o których wcześniej mogliśmy tylko pomarzyć.

Niejednokrotnie miałem okazję doświadczyć (czy to na LinkedIn czytając ofertę pracy, czy to w mailu, albo w innych mediach) jak widoczność tego co robisz wpływa na okazje, które mogą całkowicie zmienić twoją karierę. Wystarczy tylko aktywnie pracować nad okazjami bramkowymi.

Pisz, nagrywaj, dokumentuj, zbieraj dowody

Nie będzie to przesadą jeśli powiem, że dla współczesnego programisty dokumentowanie śladów swojej pracy oraz doświadczenia poprzez takie aktywności jak open source, rozwój własnego bloga, kanału na YouTube czy dbanie o publiczne repozytoria na GitHubie to niemal obowiązek.

Jasne, wymaga to umiejętności nieco innych niż te, których oczekuje się od typowego programisty, ale po pierwsze daje to trudne do zignorowania rezultaty, a po drugie - akurat w przypadku naszych czytelników i widzów - brak chęci do nauki i rozwoju to rzecz (wierzę) niespotykana, dlatego można to potraktować jak kolejne wyzwanie na swojej zawodowej drodze.

Niektórzy powiedzą, że na pewnym etapie kariery takie zawodowe portfolio staje się zbędne a naszą kartą przetargową jest po prostu staż pracy. Niby prawda, ale o firmach takich jak Nike czy Adidas też wiemy, że robią produkty wysokiej jakości, są liderami rynku, a jednak ta pierwsza na tzw. “demand creation” wydała w zeszłym roku prawie 4 miliardy (!) dolarów, a ta druga wydała nieco ponad 3 miliardy. Czy nasza własna kariera nie jest takim samym produktem, o który trzeba dbać na każdym etapie jego rozwoju?

Uzależnianie promowania i dokumentowania efektów swojej pracy od posiadanego doświadczenia to bardzo ryzykowna decyzja. Chociaż na pierwszy rzut oka wydaje się to czymś naturalnym tylko dla początkujących i tych, którzy “walczą” o swoją pozycję, to dopiero osoby doświadczone mają prawdziwą okazję spłacić to co wypracowały przez wszystkie lata pracy z nawiązką. Dowodem na to jest nie tylko sytuacja w innych branżach takich jak wspomniana wcześniej grafika czy fotografia, ale też doświadczenie wielu programistów którzy budują swoją karierę w ten właśnie sposób.

Skoro u innych to działa, to może warto spróbować?

6 wyselekcjonowanych linków co piątek na Twojej skrzynce

Co piątek rano dzielimy się sześcioma wartościowymi materiałami na dobry początek weekendu.

Dołącz do społeczności 2 tys. ambitnych programistów.

6 wyselekcjonowanych linków co piątek na Twojej skrzynce

Co piątek rano dzielimy się sześcioma wartościowymi materiałami na dobry początek weekendu.

Dołącz do społeczności 2 tys. ambitnych programistów.