Fullstack developer w erze AI: czego uczyć się po kolei
Jak zostać fullstack developerem w dobie AI? Ścieżka od HTML po deploy i nauka, w której analiza kodu bije wkuwanie składni.

Mateusz Karwowski
programista i nauczyciel · MattDev
„Skoro AI pisze kod, to po co się tego uczyć?". To pytanie słyszę od uczniów coraz częściej i rozumiem, skąd się bierze: AI naprawdę pisze kod, często szybciej niż człowiek. Wniosek „nie ma więc sensu się uczyć" jest jednak fałszywy. Wartość programisty nie zniknęła, tylko przeniosła się z pisania kodu na jego rozumienie, łączenie i ocenianie. Najlepiej w tej roli odnajduje się fullstack developer, czyli osoba rozumiejąca cały system, od przeglądarki po bazę danych. Poniżej konkretna ścieżka technologii i proces nauki, w którym analiza kodu liczy się bardziej niż wkuwanie składni.
Co AI naprawdę zmieniło
Jeszcze kilka lat temu programista przypominał tłumacza, który musi znać słownictwo na pamięć: bez opanowanej składni nie powstaje ani linia. Dziś AI zna „słownictwo" lepiej niż ktokolwiek z nas, więc rola przesunęła się z tłumacza na redaktora. Dostajesz wygenerowany tekst, a Twoją robotą jest ocenić, czy ma sens, czy pasuje do całości i co poprawić.
Konsekwencje są trzy i wszystkie konkretne:
- Składnia przestała być walutą. Nie trzeba pamiętać dokładnej formy
map()ani zapisu zapytania SQL. Trzeba wiedzieć, czymmapróżni się odfilteri kiedy które użyć. - Czytanie kodu to umiejętność numer jeden. Większość dnia to nie pisanie, tylko czytanie tego, co wygenerowało AI, i sprawdzanie, czy robi to, co powinno.
- Debugowanie bije zapamiętywanie. Błąd w wygenerowanym kodzie znajdziesz tylko wtedy, gdy rozumiesz, jak dane przepływają przez program.
Dlaczego akurat fullstack
Paradoks brzmi tak: im lepiej AI generuje kawałki, tym droższy jest człowiek widzący całość. Pojedynczy komponent albo funkcja? Zrobi świetnie. Ale aplikacja to nie suma komponentów, tylko decyzje: jak dane płyną od formularza przez API do bazy i z powrotem, gdzie je walidować, co się dzieje, gdy coś padnie o trzeciej w nocy.
Fullstack developer z AI w ręku robi dziś to, co niedawno wymagało małego zespołu. Pod jednym warunkiem: każdą warstwę rozumie na tyle, żeby zweryfikować to, co AI wyprodukowało. Ścieżka niżej buduje dokładnie to rozumienie.
Ścieżka: osiem warstw, jeden projekt
Kolejność nie jest przypadkowa. Każdy etap stoi na poprzednim i kończy się małym projektem:
- HTML + CSS. Szkielet i wygląd strony: semantyczne tagi, formularze, flexbox i grid. Projekt: własna strona-wizytówka.
- JavaScript. Pierwszy prawdziwy język: zmienne, funkcje, metody tablic, asynchroniczność, pobieranie danych z API. Tu trenuje się też myślenie jak programista. Projekt: lista zadań albo quiz w przeglądarce.
- Git. Z AI eksperymentuje się dużo, więc trzeba umieć wrócić do wersji, która działała.
- React + Next.js. Komponenty, stan, routing, renderowanie po stronie serwera. Równorzędna alternatywa to Vue z Nuxtem: jeden ekosystem, wybrany i trzymany. Projekt: aplikacja z kilkoma podstronami, zasilana z zewnętrznego API.
- TypeScript. Typy to dokumentacja czytelna i dla człowieka, i dla AI: wygenerowany kod z typami znacznie trudniej zepsuć bez wykrycia.
- Backend na Node.js. Własne API: endpointy, walidacja danych, uwierzytelnianie. Samodzielny serwer albo server routes wbudowane we framework, tak działa na przykład Nitro, silnik serwerowy Nuxta. Projekt: backend, z którego korzysta frontend z punktu 4.
- Baza danych. SQL, na przykład PostgreSQL, plus ORM łączący bazę z kodem: tabele, relacje, zapytania.
- Deploy. Vercel albo własny serwer, zmienne środowiskowe, domena. Aplikacja istnieje dopiero wtedy, gdy ktoś może z niej skorzystać.
To nie lista „technologii do zebrania", tylko warstwy jednego systemu, i dlatego najlepiej uczyć się ich na jednym rosnącym projekcie, nie na ośmiu osobnych tutorialach. Tak jest zbudowana aplikacja z mojego kursu DevChallenge: AI generuje pytania do wyzwań, frontend pokazuje je graczowi, backend na Nitrze liczy wynik, a rezultaty trafiają do bazy i na publiczny leaderboard. Każda warstwa ze ścieżki, spięta w jeden produkt.
Kreator wyzwania: użytkownik wybiera temat, poziom i typy pytań, a resztę robi pipeline budowany warstwa po warstwie.
A serce backendu takiej aplikacji to w Nitrze kilkanaście linijek i jeden server route:
// server/api/score.post.ts
export default defineEventHandler(async (event) => {
const body = await readBody(event)
if (!Array.isArray(body?.answers)) {
throw createError({ statusCode: 400, statusMessage: 'Brak odpowiedzi' })
}
const score = await scoreAnswers(body.gameId, body.answers)
// do przeglądarki wraca tylko wynik - poprawne odpowiedzi zostają na serwerze
return { score }
})
defineEventHandler, readBody i createError to API Nitra, które Nuxt importuje automatycznie. Cała reszta to zwykły JavaScript z warstwy drugiej: warunek, tablica, funkcja.
Wynik liczony po stronie serwera: przeglądarka dostaje punktację i podgląd odpowiedzi, ale nigdy klucz przed czasem.
Nauka z AI, nie pomimo AI
Wkuwanie miało sens, gdy wąskim gardłem było pisanie. Dziś wąskim gardłem jest rozumienie, więc wygrywa analiza. AI wygenerowało taki fragment:
const activeEmails = users
.filter((user) => user.lastLoginDaysAgo <= 30)
.map((user) => user.email);
Nie wklejaj go od razu. Powiedz na głos, co robi: bierze użytkowników, zostawia zalogowanych w ostatnich trzydziestu dniach i wyciąga ich adresy. Brzmi banalnie, a wyłapuje większość problemów z kodem od AI. Na przykład taki: w Twoich danych nie ma w ogóle pola lastLoginDaysAgo.
Wokół tego gestu buduje się cała reszta:
- Analiza każdego wygenerowanego fragmentu. Kod, którego nie da się opisać własnymi słowami, nie jest jeszcze zrozumiany, więc nie nadaje się do wklejenia.
- „Dlaczego", nie samo „jak". AI to cierpliwy mentor: poproś o wyjaśnienie decyzji, o alternatywy, o review własnego kodu. Z gotowej odpowiedzi bez „dlaczego" zostaje zero.
- Najpierw plan, potem prompt. Problem rozbity po polsku przed promptem pozwala zweryfikować wynik wobec własnego planu, a nie brać, co popadnie.
- Projekty, w których AI pisze 80%, a Ty rozumiesz 100%. Proporcje kodu nie są problemem. Proporcje rozumienia są.
Różnicę widać na promptach. Słaby brzmi „napisz mi aplikację z quizem". Dobry to plan przełożony na kontekst i wymagania:
Jestem na etapie backendu aplikacji z wyzwaniami (Nuxt, server routes na Nitrze).
Napisz server route POST /api/score, który:
1. przyjmuje id gry i odpowiedzi gracza,
2. pobiera poprawne odpowiedzi z bazy - nigdy nie wysyła ich do klienta,
3. zwraca wyłącznie wynik.
Zanim napiszesz kod, wypunktuj przypadki brzegowe, które powinienem obsłużyć.
Ten prompt zaczyna się od kontekstu, a kończy pytaniem „czego nie wiem". To drugie zamienia automat w mentora.
Błędy, które AI tylko podkręciło
Pułapki w nauce są te same co zawsze, tylko w nowym opakowaniu:
- Kopiuj-wklej bez czytania. Kod z AI działa, dopóki się nie zepsuje. A psuje się przy pierwszej zmianie wymagań i wtedy zostajesz sam z kodem, którego nie rozumiesz.
- Skok prosto do frameworków. React bez solidnego JavaScriptu to domek na piasku. AI to maskuje, bo „działa", aż do pierwszego nietypowego błędu.
- Wkuwanie składni jak na sprawdzian. Składnia żyje w dokumentacji i w AI. W głowie trzymaj koncepcje: przepływ danych, cykl życia komponentu, relacje w bazie.
- Zbieranie technologii zamiast łączenia ich. Osiem tutoriali z ośmiu technologii uczy mniej niż jedna aplikacja przechodząca przez wszystkie warstwy.
- „AI i tak zastąpi początkujących". Zastępuje tych, którzy tylko przepisują. Nagradza tych, którzy rozumieją, a rozumienie bierze się z praktyki, której nie da się pominąć.
Najczęstsze pytania
Czy AI nie zastąpi programistów?
Zastępuje fragmenty pracy, nie całość. Znika programista-przepisacz, rośnie znaczenie tego, który rozumie system i czyta cudzy kod. Im więcej kodu generują modele, tym więcej ludzi potrzeba do jego oceny i utrzymania.
Od której technologii zacząć?
Od HTML, CSS i JavaScriptu, dokładnie w tej kolejności. To baza, na której stoi cały web; bez niej każda kolejna technologia będzie magią. Szczegółowy plan startu opisuje artykuł jak zacząć programować od zera.
Ile trwa droga do fullstacka?
Przy regularnej, projektowej nauce pierwsza kompletna aplikacja powstaje po kilku miesiącach, a poziom pierwszej pracy to zwykle rok do półtora. AI skraca pisanie kodu, nie skraca budowania rozumienia. I dobrze, bo to ono jest dziś najbardziej opłacalne.
Chcesz przejść tę ścieżkę z planem?
Najwięcej czasu zabiera nie nauka, tylko zgadywanie kolejności i szukanie materiałów. Na zajęciach układamy ścieżkę pod cel i od początku pracujemy na kodzie, który analizujemy i rozumiemy, z AI używanym z głową. Zobacz, jak wygląda nauka programowania ze mną, albo umów bezpłatną konsultację.
A jeśli podstawy są już na miejscu i chcesz zbudować opisaną wyżej aplikację od zera, krok po kroku i z publicznym deployem, zobacz kurs DevChallenge.

Mateusz Karwowski
Programista (mgr inż. informatyki, PW) i nauczyciel. Uczę programowania i matematyki 1:1 - projektowo, po ludzku i bez wkuwania.
Czytaj dalej
Jak zautomatyzować pracę: 6 poziomów, od skryptu po AI
Jak zautomatyzować pracę? 6 poziomów: skrypty, RPA, chat z AI, n8n, agent w IDE i system agentowy - jeden proces od ręcznej roboty po autonomię.
Czytaj AI & ProgramowanieJak myśleć jak programista przed napisaniem kodu
Jak myśleć jak programista? Rozbijanie problemu na kroki, pseudokod i nawyki, dzięki którym kod staje się formalnością. Praktyczny przewodnik.
CzytajZacznijmy od bezpłatnej konsultacji
Ustalimy Twój cel, poziom i plan współpracy - spokojnie i bez presji.