W 2020 rekrutacja programisty do agencji zajmowała 2-3 tygodnie. Publikowałem ogłoszenie, dostawałem 30 CV, wybierałem 5 do rozmowy, jeden dostawał ofertę. Prosty proces.

W 2026 rekrutacja tego samego typu zajmuje 6-8 tygodni. CV jest 100+, ale połowa AI-generated. Portfolio jest AI-generated w połowie. Rozmowy techniczne wymagają nowego podejścia, bo tradycyjne “napisz mi funkcję fibonacci” nie działa.

Ten post to moje przemyślenia po rekrutacji 12 osób do agencji w ostatnich 24 miesiącach. Co się zmieniło, czego szukam dziś, jak wygląda mój proces.

Krajobraz rekrutacji w 2026

Trzy główne zmiany od 2023:

AI zmienił CV i portfolio. 60% CV, które dostaję, ma marker AI-generated (formal ton, generic bullet points, no personal voice). Portfolio z GitHubem, gdzie 80% commits to gpt: implement X.

Junior pipeline umarł. Pisałem o tym w osobnym poście. Junior pozycje zniknęły. Rynek jest zalany midami plus starymi juniorami bez experience.

Testy techniczne obchodzone przez AI. Take-home assignment? User odpowiada z pomocą Cursora. Live coding? Trudno wykryć, kto myśli, a kto reads od AI w tle.

Praca zdalna to standard. Kandydaci nie akceptują in-office jako default. Selection na wielu kanałach: Poland, EU, sometimes globalnie.

Skills przesunęły się. Znać framework mniej ważne. Rozumieć kontekst biznesowy plus umieć używać AI narzędzi bardziej ważne.

Kogo szukam w 2026

Konkretne archetypy w mojej agencji.

Senior full-stack z AI competency. 5+ lat komercyjnego doświadczenia, TypeScript/Next.js stack, active user Cursora i Claude Code, buduje własne side projects. Rate: 300-500 zł/h.

Domain specialist. Ktoś głęboko w specyficznej domenie (fintech, e-commerce, healthcare, security). Płatę premium za expertise. Nie chcę generalistów.

AI engineer. Osoba, która zbudowała agentów, RAG systems, MCP servers w produkcji. Świeży rynek, mało kandydatów, wysokie stawki. Rate: 400-600 zł/h.

Growth engineer. Ktoś, kto rozumie zarówno code jak i marketing/analytics. Rzadki, ale kluczowy dla product-facing projektów.

Kogo NIE szukam:

  • Juniorów (ekonomicznie się nie spina, opisane w dedykowanym poście)
  • Fullstack developers bez specjalizacji (są na kolanach na rynku, za dużo konkurencji)
  • Devs pracujących na dziesięciu stackach naraz (jack of all trades, master of none)

Skąd biorę kandydatów

Kanał 1: personal network. 50% moich hire’ów. Byli koledzy, polecenia klientów, community meetupy. Highest quality, lowest effort.

Kanał 2: LinkedIn outbound. Znajduję konkretne osoby, których content śledzę. Pisze DM z konkretną propozycją. 20% response rate, ale ci, co odpisują, są quality.

Kanał 3: mój LinkedIn plus blog. Ludzie sami do mnie zgłaszają. Preselekcja natural (znają mnie, znają styl agencji).

Kanał 4: Just Join IT, No Fluff Jobs. Klasyczne portale. 15% mojego hiringu. Jakość zmienne.

Kanał 5: rekruter external. Rzadko, dla senior/expert pozycji. Fee 15-20% rocznego wynagrodzenia. Justified dla niche skills.

Nie używam: Upwork, LinkedIn easy apply, Facebook groups. Ratio noise-to-signal zbyt złe.

Mój proces rekrutacyjny

Konkretnie, 4 etapy.

Etap 1: Screen CV/portfolio (10 min per kandydat)

Czego szukam:

Positive signals:

  • GitHub z REAL projects (nie tutorial code)
  • Blog albo LinkedIn presence z technical content
  • Commits pokazujące process (nie tylko “final version”)
  • Specyficzny stack pasujący do naszego (TS, Next.js, Postgres)
  • Contributions do open source (nawet małe)
  • README z sensownym opisem projektu, decision rationale

Red flags:

  • CV wygląda AI-generated (formal ton, no personal voice)
  • Portfolio to same tutorial projects (TODO app, blog clone, weather app)
  • GitHub z 3 commits, wszystkie “initial commit”
  • LinkedIn 10 lat pusty, potem nagle pełen “excited to share”
  • Skills list ma 30 technologii bez głębi w żadnej
  • Pracował w 15 różnych firmach w 5 lat

CV screen daje mi listę 5-10 kandydatów na etap 2 z 50-100 aplikacji.

Etap 2: Technical screen (60 min, video call)

Structure:

Pierwsze 15 min: introdukcje, ich zainteresowania, dlaczego szukają zmiany.

Następne 30 min: technical discussion, nie coding.

Pytania, których zadaję:

  • “Opowiedz o najtrudniejszym bugu, który rozwiązałeś w ostatnim roku”
  • “Kiedy używasz Claude Code, kiedy piszesz sam? Dlaczego?”
  • “Jak podchodzisz do refactoru, jak masz 40h na task, a shipping deadline za tydzień?”
  • “Jak zarządzasz technicznym długiem w projektach klientów?”
  • “Opisz decyzję architektoniczną, którą zrobiłbyś inaczej dziś, gdybyś miał więcej wiedzy”
  • “Jak sprzedajesz seniorowi/klientowi decyzję techniczną, z którą się nie zgadza?”

Odpowiedzi ujawniają:

  • Głębokość myślenia
  • Doświadczenie z realnymi problemami
  • Sposób podejmowania decyzji
  • Umiejętność komunikacji
  • Świadomość trade-offs

Ostatnie 15 min: ich pytania do mnie, next steps.

Bez tego etapu 40% osób odpada.

Etap 3: Take-home ALE inaczej

Kiedyś dawałem klasyczne take-home: “zbuduj CRUD dla X w Next.js, deploy na Vercel”. Dziś AI robi to za 30 minut. Kandydaci nie pokazują umiejętności.

Nowy format: give code review + refactor task.

Kandydat dostaje repo z istniejącym kodem (który agencja realnie ma). Zadanie:

  • Review 3 konkretnych plików
  • Wypisz 5 rzeczy, które byś zmienił i dlaczego
  • Zrefaktoruj 1 z nich, ale zostaw wszystko inne
  • Napisz 1 dodatkowy test, który złapałby bug, którego current code has

Time: 3-4 godziny.

Testuje:

  • Umiejętność czytania cudzego kodu
  • Judgment (co ważne, co nie)
  • Practical refactor skills
  • Test writing
  • Communication (writing about code)

AI może pomóc z częścią, ale synteza plus judgment nie są łatwe do faked.

Etap 4: Pair programming session (2 godziny)

Ostatni etap. Robimy razem realną pracę na małym features w naszym stacku. Zwykle backend API endpoint plus frontend integration.

Nie coding challenge. Nie whiteboard. Realna praca.

Sprawdzam:

  • Jak kandydat pyta o wymagania (bo są niekompletne, celowo)
  • Jak decyduje o technicznych detalach
  • Jak używa AI tools (Cursor, Claude Code)
  • Jak komunikuje trade-offs
  • Jak reaguje na blockers (bo są, celowo)
  • Jak podchodzi do testów

Po session mam bardzo dobry obraz, jak będzie się z tym pracować codziennie.

Live coding: dlaczego już nie robię

Klasyczne live coding (LeetCode-style) było niewidocznie w moim procesie od 2024.

Powody:

  • Nie testuje umiejętności realnej pracy (kiedy w życiu piszesz binary tree sam?)
  • Selection bias na kandydatów, którzy grinding LeetCode 100h/miesiąc
  • Wysoki stress = mniej reprezentatywny obraz umiejętności
  • AI może pomóc niewidocznie (drugi monitor, headphones)
  • Kulturowo passé (developers reacting badly, drop-off z procesu)

Zastąpione przez: pair programming w realnym stacku (etap 4).

Wyjątek: FAANG-tier positions gdzie klient specifically wymaga LeetCode. Rzadko.

Behavioral questions, których używam

Standardowe “gdzie widzisz siebie za 5 lat” - useless.

Konkretne, które działają:

“Opowiedz o momencie, kiedy popełniłeś kosztowny błąd”. Testuje self-awareness, ownership, growth mindset. Osoby, które mówią “nigdy nie popełniłem błędu”, off.

“Opowiedz o kliencie, z którym pracowało się źle”. Testuje empathy, professional maturity, ability to see multiple sides.

“Opowiedz o decyzji technicznej, przez którą kłóciłeś się z teamem”. Testuje strong opinions loosely held, communication.

“Dlaczego opuszczasz obecną pracę?”. Klasyk, ale kluczowy. Negatywne narrative = red flag.

“Co byś zrobił, jak Twój tech lead prosi Cię o coś, co uważasz za zły pomysł?”. Testuje independence plus collaboration balance.

AI w rekrutacji

Wykrywanie AI-generated content stała się umiejętnością.

CV:

  • Formal, generic ton bez personal voice
  • Perfect grammar (za perfect)
  • Buzzwords bez specyfikacji (“passionate about innovation”)
  • Timeline bez rough edges

Portfolio:

  • Every project ma perfect README plus badges
  • Commits w idealnej format (“feat: add X” wszędzie)
  • 100% test coverage in every project (nikt tego nie robi w side projects)
  • Deployed to Vercel z custom domain (very common, but check whether it’s really from them)

Cover letter:

  • Zawsze “I’m thrilled to apply”
  • Company research based on top Google results (obvious ChatGPT plugin output)

Nie disqualifikuję za AI use. Disqualifikuję za AI as substitute for genuine effort. Interviews often catch this.

Interview questions, które AI nie umie odpowiedzieć

Klasyczne “wyjaśnij co to jest event loop” ChatGPT robi lepiej niż większość juniorów. Bezwartościowe.

Lepsze, których używam:

Personal experience: “Opisz konkretny bug, którego naprawa zajęła Ci więcej niż tydzień”. Nie ma dwóch identycznych stories.

Judgment calls: “Klient prosi Cię o X. Ty myślisz, że Y jest lepsze. Jak podejmujesz decyzję?” Nie ma “poprawnej” odpowiedzi.

Trade-offs: “Co ważniejsze: shipping fast czy code quality? Kiedy?”. Konkretne przykłady wymagane.

Cultural fit: “Opowiedz o kimś, kto zainspirował Cię w karierze. Dlaczego?”. Bardzo osobiste.

Anti-patterns: “Kiedy TypeScript strict mode ci przeszkadza, a nie pomaga?”. Testuje głębokość vs dogma.

Te pytania wymagają real experience. AI może improvizować, ale insincerity jest often detectable.

Salary negotiation

W agencji jestem po drugiej stronie stołu vs kandydat. Konkretne principles:

Wcześnie pytaj o expectations: unikaj discovery po 4 rundach, że oczekiwania są dwie razy za wysokie.

Podawaj range: “Widełki na tej roli to 15-22k. Gdzie się widzisz?”. Ranges show goodwill.

Nie negocjuj za bardzo w dół: jeśli kandydat prosi 20k, a max mój 15k, to prawdopodobnie nie fit. Nie zmuszaj do compromise, na którym oboje przegramy.

Wliczaj benefits: praca zdalna, sprzęt, dni urlopu, budget na książki/konferencje. Total compensation vs raw salary.

Płać za skills, nie za years. 3-letni AI expert vs 10-letni PHP dev - może pierwszy zarabia więcej.

Onboarding: gdzie 50% hire’ów succeeds or fails

Pierwsze 3 miesiące decydują, czy hire się uda. Konkretne steps.

Tydzień 1: setup (laptop, dostępy, kalendarze, dokumentacja). 1-on-1 codziennie z tech lead.

Tydzień 2: shadow existing project. Watch code review, standup, client calls. Zero pressure.

Tydzień 3-4: mały task w produkcji. Success = merged PR w produkcyjnym projekcie. Confidence boost.

Miesiąc 2: pełne włączenie w projekt. Solo tasks, ale ze sponsorem seniorem.

Miesiąc 3: 3-month review. Co działa, co nie, feedback obu stron. Decyzja: kontynuować czy rozstać się.

Bez tego structured onboarding nowi ludzie fumble, frustrate, quit w 6 miesięcy.

Retention: dlaczego dobrzy odchodzą

Po zatrudnieniu kolejne wyzwanie: zatrzymać.

Główne powody odejść w mojej agencji:

1. Boring projects. Talented dev spędza 6 miesięcy na routine CRUD. Kończy. Rozwiąż przez rotation na interesujące projekty.

2. Brak growth. Nie widzi ścieżki up. Rozwiąż przez explicit development plans, mentoring.

3. Toxic team dynamics. Jeden negative person zjada morale. Rozwiąż przez early confrontation albo removal.

4. Salary stagnation. Rynek podnosi się 15%/rok, Twoi ludzie po 3 latach zarabiają jak market entry-level. Rozwiąż przez regular reviews (2x w roku).

5. Bad clients. Toxic customer zjada zespół. Rozwiąż przez firing clients (yes, this).

Fire fast, hire slow

Klasyczna zasada, ale trudna w praktyce.

Hire slow: 4-etapowy proces bierze 4-8 tygodni. To dobrze. Rush hire = 12-miesięczna pomyłka.

Fire fast: jeśli po 3 miesiącach ktoś nie działa, nie ciągnij tego. Bad hire zjada morale team plus Twój time.

Dwie oznaki, że hire nie działa:

  • Deliver poniżej expectations po 3 miesiącach
  • Nie przyjmuje feedback albo defensive reaction

Nie oznaki:

  • Wolniejszy niż oczekiwałeś (może jest tylko wolny start)
  • Robi błędy (normalne, chodzi o gdzie się uczy)

Firing to hardest part of managing. Ale jedyna opcja, jeśli fit jest zły.

Co czytać dalej

  • “Who” Geoff Smart, Randy Street. Klasyk topgrading methodology, hiring A-players.
  • “Radical Candor” Kim Scott. Feedback, delivered z care.
  • “High Growth Handbook” Elad Gil. Scaling teams w tech.

Unikaj generic “10 tips for hiring”. Praktyka > teoria.

Od czego zacząć

Jeśli budujesz zespół po raz pierwszy:

  1. Zdefiniuj konkretną rolę. Nie “programmer”, specifically “TypeScript full-stack z AI experience dla Next.js/Strapi projektów klienta”.
  2. Zdefiniuj kryteria selekcji: must-have vs nice-to-have.
  3. Ustaw budżet: rate, benefits, growth budget.
  4. Uruchom kanały: LinkedIn, network, one job board.
  5. Screen szybko (Etap 1 = 10 min per candidate).
  6. Rozmawiaj z 5-8 kandydatami minimum.
  7. Fire fast, hire slow.

Rekrutacja to jedna z najtrudniejszych umiejętności biznesowych. Wpadki są kosztowne (30-100k zł), sukcesy compound (great hire = 10x value).

Pisałem o delegowaniu jako sąsiedniej kompetencji. Rekrutuj, potem deleguj. Bez obu nie skalujesz solo agencji do team-based agency.

W 2026 junior market umarł. Rekrutuj się na midów i seniorów, płacisz więcej per person, ale get more per hire. Adjust do reality.