Kiedy szukałem pierwszej pracy jako Jak zostać programistą bez studiów. Historia samouka, który zbudował system płatności, nie miałem dyplomu informatyki, nie miałem stażu w big techu i nie miałem portfolio z dwudziestoma projektami. Miałem kilka rzeczy, które sam zbudowałem, i umiejętność opowiedzenia o nich tak, żeby ktoś chciał słuchać.

I to wystarczyło, żeby dostać pracę, w której budowałem system płatności dla instytucji finansowej.

Ten post to nie poradnik “jak zrobić ładną stronę z projektami”. To zbiór rzeczy, które faktycznie działają. Bo portfolio programisty to nie strona. To sposób, w jaki pokazujesz, kim jesteś jako developer.

Dlaczego tradycyjne portfolio nie działa

Większość poradników mówi: zrób stronę, wrzuć screenshoty projektów, dodaj opisy. I masz portfolio.

Problem? Każdy tak robi. Rekruter widzi dwudziestą stronę z todo-appką zbudowaną na kursie Udemy i jedyną rzeczą, którą zapamiętuje, jest to, że nie zapamiętał niczego.

Tradycyjne portfolio programisty ma trzy problemy:

Pokazuje efekt, nie proces. Screenshot gotowej apki nic nie mówi o tym, jak myślisz, jakie problemy rozwiązywałeś, jakie decyzje podejmowałeś.

Wygląda jak każde inne. Todo app, weather app, klon Twittera. Rekruterzy widzieli to tysiące razy.

Jest statyczne. Wrzucasz je raz i nigdy nie aktualizujesz, bo nie masz na to czasu ani motywacji.

CV programisty, które nie ląduje w koszu

Zanim ktoś zobaczy Twoje portfolio, musi przejść przez CV. A większość CV programistów wygląda tak samo: lista technologii, lista firm, lista obowiązków. Nudne.

Kilka rzeczy, które wyróżniają dobre CV programisty:

Pisz o efektach, nie o obowiązkach. Nie “odpowiedzialny za frontend”. Tak: “Zbudowałem system onboardingu klienta, który skrócił czas rejestracji z 15 do 3 minut”. Liczby. Efekty. Konkrety.

Nie listuj 25 technologii. Nikt nie wierzy, że “znasz” React, Vue, Angular, Svelte, Next.js, Nuxt, Gatsby i Astro jednocześnie. Wybierz 5-6 technologii, które naprawdę znasz, i opisz, co w nich zbudowałeś.

Dodaj link do GitHuba. To ważniejsze niż lista technologii. Rekruter może kliknąć i zobaczyć Twój kod. Jeśli nie masz tam nic, wygląda to jakbyś programował tylko na papierze.

Jedna strona. Serio. Nikt nie czyta dwustronicowego CV juniora. Skondensuj. Każde zdanie musi zarabiać na swoje miejsce.

GitHub jako portfolio, które żyje

GitHub to Twoje portfolio, które aktualizuje się samo. Każdy commit to dowód, że kodujesz. Każde repo to projekt, który ktoś może otworzyć i przeczytać.

Co robi dobry profil GitHub:

Pinned repos z sensownymi README. Każdy przypięty projekt powinien mieć README, które wyjaśnia: co to jest, dlaczego to zbudowałem, jakie technologie użyłem, jak to uruchomić. Nie “yet another todo app”. Raczej “system do śledzenia wydatków, który budowałem, bo żadna appka na rynku nie robiła X tak, jak chciałem”.

Regularne commity. Nie musisz pushować codziennie. Ale profil z jednym commitem na 3 miesiące mówi rekruterowi, że programowanie nie jest Twoim codziennym zajęciem.

Prawdziwe projekty, nie tutorialowe klony. Jeśli jedyne repo, jakie masz, to fork kursu z Udemy, to nie jest portfolio. Zbuduj coś, co rozwiązuje Twój problem. Nawet małego. Nawet brzydkiego.

Czysty kod w najnowszych projektach. Stare repo mogą być bałaganem (moje pierwsze projekty na pewno są). Ale najnowsze projekty powinny pokazywać, że umiesz pisać czytelny kod, nazywać zmienne, strukturyzować pliki.

Digital garden jako portfolio programisty

To mój ulubiony koncept i coś, czego nikt nie poleca, a powinien.

Twój digital garden może być najlepszym portfolio, jakie kiedykolwiek zbudujesz. Dlaczego?

Pokazuje, jak myślisz. Nie screenshot apki. Notatki o tym, jak rozwiązałeś problem. Jakie technologie rozważałeś i dlaczego wybrałeś tę, a nie inną. To jest gold dla rekrutera.

Aktualizuje się naturalnie. Nie musisz “aktualizować portfolio”. Piszesz notatki, bo i tak to robisz. One same stają się dowodem Twojej wiedzy.

Wyróżnia Cię z tłumu. Ilu kandydatów na junior developera ma digital garden? Prawie zero. Sam fakt posiadania publicznej przestrzeni, w której dzielisz się wiedzą, mówi o Tobie więcej niż lista technologii w CV.

Buduje markę osobistą. Kiedy rekruter googla Twoje imię i trafia na digital garden pełen notatek o programowaniu, masz ogromną przewagę nad kandydatem, którego jedynym śladem w internecie jest profil na LinkedIn z pustym summary.

Moja strona (mrellwart.com) zaczęła się jako zbiór notatek z Obsidian. Dziś jest moim głównym portfolio, wizytówką i dowodem na to, że wiem, o czym piszę.

Co wrzucić do portfolio (konkretne pomysły)

Jeśli nie wiesz, jakie projekty pokazać, oto co działa lepiej niż kolejna todo app:

Rozwiąż swój problem. Brakuje Ci czegoś? Zbuduj to. Ja potrzebowałem sposobu na publikowanie notatek z Obsidian. Zbudowałem digital garden na Jekyll. To jest projekt, który ma historię i sens.

Zbuduj coś dla kogoś. Znajomy prowadzi firmę i potrzebuje strony? Zrób ją. Nawet za darmo. Prawdziwy projekt z prawdziwym klientem to więcej niż 10 projektów “dla siebie”.

Weź udział w open source. Nie musisz commitować do React core. Znajdź małe repozytorium z otwartymi issues, napraw buga, wyślij PR. To pokazuje, że umiesz pracować z cudzym kodem.

Dokumentuj, co się uczysz. Post “Jak skonfigurowałem Next.js z Strapi w monorepo” to wartościowy content i jednocześnie dowód, że umiesz to robić.

Czego nie robić

Nie kłam w CV. Brzmi banalnie, ale ludzie to robią. Wpisujesz “zaawansowany React”, a na rozmowie nie potrafisz wyjaśnić jak działa useEffect. Lepiej napisać “uczę się React, oto co zbudowałem” niż “expert in React”.

Nie rób portfolio na WordPress. Jesteś programistą. Zbuduj swoją stronę sam. To samo w sobie jest projektem portfolio.

Nie czekaj, aż będziesz “gotowy”. Nigdy nie będziesz. Publikuj brzydkie projekty. Pisz notatki z błędami. Poprawiaj z czasem. Perfekcjonizm to wróg portfolio.

Podsumowanie

Dobre portfolio programisty to nie strona z projektami. To ekosystem:

  • CV z konkretnymi efektami zamiast listy obowiązków
  • GitHub z prawdziwymi projektami i czystymi README
  • Digital garden (lub blog) z notatkami o tym, czego się uczysz
  • Aktywność (commity, posty, kontrybuty do open source)

Razem te elementy tworzą obraz kogoś, kto nie tylko umie kodować, ale też myśli, uczy się i buduje rzeczy. I to jest to, czego szukają ludzie, którzy zatrudniają programistów.

Nie musisz mieć tego wszystkiego od razu. Zacznij od GitHuba i jednej notatki publicznej. Reszta przyjdzie.