Przejdź do treści
AI & Programowanie 8 min czytania

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

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ć, czym map różni się od filter i 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:

  1. HTML + CSS. Szkielet i wygląd strony: semantyczne tagi, formularze, flexbox i grid. Projekt: własna strona-wizytówka.
  2. 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.
  3. Git. Z AI eksperymentuje się dużo, więc trzeba umieć wrócić do wersji, która działała.
  4. 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.
  5. TypeScript. Typy to dokumentacja czytelna i dla człowieka, i dla AI: wygenerowany kod z typami znacznie trudniej zepsuć bez wykrycia.
  6. 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.
  7. Baza danych. SQL, na przykład PostgreSQL, plus ORM łączący bazę z kodem: tabele, relacje, zapytania.
  8. 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 w aplikacji z kursu DevChallenge - temat, poziom i typy pytań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.

Ekran wyniku w aplikacji DevChallenge - punktacja i poprawne odpowiedziWynik 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

Mateusz Karwowski

Programista (mgr inż. informatyki, PW) i nauczyciel. Uczę programowania i matematyki 1:1 - projektowo, po ludzku i bez wkuwania.

Zacznijmy od bezpłatnej konsultacji

Ustalimy Twój cel, poziom i plan współpracy - spokojnie i bez presji.