Portfolio, czyli zbiór Twoich własnych projektów, to dla juniora bez doświadczenia jeden z najmocniejszych argumentów w walce o pierwszą pracę. Gdy masz już opanowane fundamenty programowania, zbuduj kilka aplikacji, którymi możesz się pochwalić.

Portfolio pracuje na Ciebie na trzy sposoby. Po pierwsze, wyróżnia Cię już na etapie selekcji CV, bo wiele osób go nie ma. Po drugie, budując własne aplikacje, dużo lepiej rozumiesz różne aspekty programowania. Po trzecie, w trakcie rozmowy kwalifikacyjnej możesz odwoływać się do przykładów z własnego kodu.

Z drugiej strony stołu dobrze widać, na co firmy patrzą, gdy otwierają link do Twojego GitHuba. Poniżej konkretnie: jakie projekty zbudować, gdzie je opublikować i jak je opisać.

Jakie aplikacje do portfolio?

Najważniejsza zasada: lepiej mniej projektów, ale dopracowanych. Aplikacje mogą być proste. Ważne, żeby kod był „czysty”.

Wybór projektów zależy też od tego, czy chcesz zostać frontend, czy backend developerem. Najlepiej sprawdzają się projekty, które rozwiązują prawdziwy problem: Twój, Twoich znajomych albo z branży, w której wcześniej pracowałeś. Listę pomysłów na aplikacje znajdziesz tutaj: https://flaviocopes.com/sample-app-ideas/

Jeśli masz już pomysł na aplikację, możesz oprzeć ją na jednym z publicznych, otwartych API: https://github.com/public-apis/public-apis

Przykłady projektów do portfolio

Kilka pomysłów, które możesz potraktować jako punkt wyjścia i dopasować do siebie:

Backend (np. Java, Python):

  • REST API do zarządzania domowym budżetem, z logowaniem użytkowników, bazą danych i testami,
  • system rezerwacji (np. sal, wizyt u fryzjera) z obsługą konfliktów terminów i powiadomieniami e-mail,
  • aplikacja, która regularnie pobiera dane z publicznego API (np. kursy walut z API NBP), zapisuje je w bazie i udostępnia statystyki.

Frontend:

  • strona o sobie, czyli wizytówka, na której przedstawisz swoje projekty,
  • dashboard z wykresami, który korzysta z publicznego API (np. pogoda, kursy walut),
  • tablica zadań w stylu Kanban z przeciąganiem kart i zapisywaniem stanu.

Projekt z AI:

  • aplikacja, która korzysta z API modelu językowego, np. generator fiszek z notatek albo narzędzie streszczające artykuły.

Taki projekt pokazuje, że potrafisz wbudować AI we własną aplikację. Według justjoin.it to coraz częściej wyróżnia juniorów w rekrutacji. Jedna zasada bez wyjątków: nigdy nie wrzucaj klucza API do repozytorium.

Najmocniej wybrzmi jednak projekt związany z Twoim doświadczeniem. Jeśli pracowałeś w księgowości, prosta aplikacja do obsługi faktur pokaże, że rozumiesz zarówno kod, jak i potrzeby użytkowników.

Gdzie publikować kod?

Na GitHubie. Jest wiele innych serwisów, w których możesz trzymać repozytorium z kodem, ale raczej nie są tak dobre. Co ważne, na GitHubie możesz skorzystać z tzw. GitHub Pages i za darmo opublikować swoją stronę lub projekt w sieci. Aplikacje frontendowe możesz też opublikować np. na Netlify czy Vercel, a backend na platformach z darmowym planem (np. Render). Ich limity się zmieniają, więc sprawdź aktualne warunki.

Zadbaj też o sam profil na GitHubie: przypnij na nim najlepsze projekty i dodaj krótki profilowy README z kilkoma zdaniami o sobie. To często pierwsza rzecz, którą rekruter zobaczy po kliknięciu linku z CV.

Czy potrzebujesz strony portfolio?

Przy frontendzie tak, warto ją mieć. Strona o sobie działa jak wizytówka, na której przedstawiasz swoje projekty, a jednocześnie sama jest dodatkowym projektem, który pokazuje Twoje umiejętności. Jeśli celujesz w backend, nie jest konieczna. Dobrze przygotowany profil na GitHubie i LinkedInie w zupełności wystarczy.

Co jest istotne przy tworzeniu portfolio?

Zadbaj o jakość kodu, sensowne nazwy zmiennych i commitów oraz opis projektów. Pilnuj formatowania, usuń zbędne komentarze i unikaj zmiennych typu „blabla” czy „x1”.

W README opisz cel aplikacji i dodaj krótką instrukcję jej uruchomienia. Bez tego mało kto będzie się przekopywał przez Twój kod. Dobry README zawiera:

  • krótki opis: co robi aplikacja i dla kogo jest,
  • zrzut ekranu lub krótki GIF,
  • listę użytych technologii,
  • instrukcję uruchomienia,
  • link do działającej wersji online,
  • plany rozwoju albo to, co byś poprawił.

Dobrze widziane są też testy oraz działająca wersja online, którą rekruter może od razu sprawdzić. Zadbaj także o historię commitów. Projekt dodany jednym commitem wygląda dziś, w czasach AI, dość podejrzanie, a regularne commity pokazują, jak rozwijałeś aplikację.

Każda kolejna aplikacja w portfolio powinna być inna i pokazywać inną część Twoich umiejętności. Znacznie lepiej mieć 2–3 konkretne projekty, którymi możesz się pochwalić, niż 30 byle jakich.

Portfolio w czasach AI

Prostą aplikację typu lista zadań można dziś wygenerować z pomocą AI w kilka minut, więc sama jej obecność w portfolio niewiele mówi o Twoich umiejętnościach. Na rozmowie kwalifikacyjnej dużo ważniejsze jest to, czy potrafisz opowiedzieć o decyzjach, które podjąłeś: dlaczego wybrałeś daną technologię, jak rozwiązałeś napotkane problemy i co byś dziś poprawił. Korzystanie z AI przy projekcie nie jest niczym złym, ale musisz rozumieć każdy fragment kodu, który się w nim znalazł. Jak opowiadać o swoich projektach na rozmowie, opisałem w artykule Przygotowanie do rekrutacji na programistę.

Podsumowanie

Portfolio nie jest absolutnie niezbędne, żeby dostać szansę w procesie rekrutacyjnym, ale wyraźnie zwiększa Twoje szanse. Przy własnych projektach też najwięcej się nauczysz. Dzięki temu dużo lepiej poradzisz sobie na rozmowach kwalifikacyjnych.