AI wyrównało tę część pracy, która nigdy nie była trudna — pisanie kodu. Trudne zawsze było wiedzieć, o co zapytać. Tego AI ci nie da, a co gorsza — ukrywa fakt, że tego nie masz.

Jestem frontendowcem. Od lat. I już kilka razy zdarzyło mi się usiąść, poprosić model o kawałek backendu, którego potrzebowałem, i patrzeć, jak produkuje coś, co wygląda całkowicie sensownie. Czysta struktura. Rozsądne nazwy. Działało.
Przez chwilę poczułem, że granica między dyscyplinami właśnie się rozpłynęła. Nie musiałem szukać osoby, która naprawdę się tym zajmuje. Miałem kod. Działał.
To uczucie jest najszczerszą rzeczą, jaką mogę ci dziś powiedzieć o AI — i jest też pułapką. Bo „działa" i „rozumiem to" to nie jest to samo zdanie, a luka między nimi to dokładnie ta część pracy, której AI nie tknęło.
Bądźmy wobec tych narzędzi uczciwi, bo sobie na to zasłużyły. Mechaniczne wyprodukowanie kodu w domenie, w której nie siedzisz na co dzień, było kiedyś realnym murem. Schodził ci dzień na walkę z nieznaną składnią, nieznanymi bibliotekami, nieznanym boilerplate'em, zanim w ogóle zbliżyłeś się do właściwego problemu. Tego muru w zasadzie już nie ma. Potrafię wygenerować wiarygodny kod w domenach, w których nigdy nie pracowałem — i ty też.
Gdyby więc praca polegała na pisaniu kodu, to owszem — AI spłaszczyłoby różnicę między frontendowcem, backendowcem, data engineerem czy kimś od infry. Bylibyśmy teraz mniej więcej wymienni, każdy z tym samym przyciskiem „generuj".
Ale pisanie kodu nigdy nie było tą trudną częścią. Było tą widoczną częścią. Długo myliliśmy jedno z drugim, bo widoczna część była też tą wolną, a wolność czynności czujemy jako trudność. AI usunęło wolność i odsłoniło to, co było pod spodem: trudne zawsze było wiedzieć, o co zapytać.
Kiedy backendowiec pisze ten sam kod, który ja przed chwilą wygenerowałem, on przede wszystkim nie pisze. On przebiega w głowie listę kontrolną, której ja w ogóle nie mam. Czy ta granica transakcji jest dobrze postawiona? Co się stanie przy równoległych zapisach? Czy to jest idempotentne, jeśli zostanie ponowione? Co zrobi to zapytanie, gdy tabela urośnie tysiąckrotnie? Jaki jest tryb awarii, którego nikt nie wpisał w happy path?
Ja tych pytań nie zadaję. Nie dlatego, że jestem niechlujny — tylko dlatego, że nie wiem, że to są te pytania. To jest prawdziwa treść domeny: nie składnia, ale zbiór rzeczy, o które nauczyłeś się martwić, głównie się parząc. Składnię AI daje mi za darmo. Blizn — nie.
I tu jest sedno: promptowanie poza swoją domeną to nie jest „wiem tu trochę mniej, pójdzie mi wolniej". To jest „nie wiem, czego nie wiem, więc nie umiem nawet stwierdzić, kiedy odpowiedź jest zła". To są dwie zupełnie różne sytuacje. Pierwszą da się ogarnąć. Drugiej się nie widzi.
Gdyby AI zwracało oczywiście zły wynik, kiedy wychodzisz poza swój pas ruchu, nic z tego nie miałoby znaczenia. Zobaczyłbyś bałagan, uznał, że jesteś poza swoją głębokością, i poszedł po pomoc. Tu jest odwrotnie. AI zwraca płynny wynik. Schludny, pewny siebie, dobrze zorganizowany — o fakturze pracy, którą skończył już ktoś kompetentny.
Dla kogoś, kto ma daną domenę, płynny-ale-błędny jest do złapania; cicha lista kontrolna odpala i coś zaczyna zgrzytać. Dla kogoś, kto jej nie ma, płynny-ale-błędny jest nie do odróżnienia od płynnego-i-poprawnego. Płynność robi tę jedną rzecz, której najmniej potrzebujesz, gdy jesteś poza swoją głębokością: sprawia, że wynik wygląda na godny zaufania dokładnie dla tej osoby, która jest najmniej w stanie go ocenić.
Czyli AI nie zamyka luki kompetencyjnej. Ono ją ukrywa. Bierze moment, który kiedyś sam się zgłaszał — „nie mam pojęcia, czy to jest poprawne" — i zamalowuje go czymś, co wygląda na skończone.
Chcę tu być ostrożny, bo istnieje leniwa wersja tego argumentu, która brzmi: spadaj z mojego podwórka, specjaliści wiedzą najlepiej, amatorzy z AI rujnują wszystko. Nie o to chodzi i ja w to nie wierzę.
Sedno nie jest takie, że inni się porywają na za dużo. Sedno jest takie, że każdy ma domenę, w której jest tym płynnym-ale-niekompetentnym — a AI szepcze teraz do każdego z nas, w każdej z tych domen, że mamy to ogarnięte. To ja jestem w tym tekście przykładem, nie wyjątkiem od niego. Kiedy generuję kod backendu i czuję ten przypływ samowystarczalności, robię dokładnie to, przed czym chciałbym, żeby miał się na baczności backendowiec, kiedy generuje komponent i czuje, że zinternalizował frontend.
Nikt nie jest tu czarnym charakterem. Ten pociąg jest strukturalny. Narzędzie jest zaprojektowane tak, żebyś czuł się kompetentny, i jest w tym bardzo dobre.
Sprowadź to do kości i zostaje tyle. To, co specjalista ma, a czego AI nie potrafi ci przekazać, to nie jest własność jakiegoś kawałka kodu. To zrozumienie — nagromadzony kontekst, który mówi ci, które pytania mają znaczenie i jak w ogóle wygląda dobra odpowiedź. Wiedza domenowa to po prostu zrozumienie z nazwą na froncie.
A zrozumienie jest tą jedną rzeczą, której AI kategorycznie nie oddaje. Oddaje wynik. Narracja, która mnie niepokoi, to nie „AI zastąpi specjalistów". To ta cichsza — ześlizg od model coś wyprodukował do więc mam to ogarnięte. Ten ruch ma przyczynowość odwróconą. Wyprodukowanie wyniku to nie to samo co jego zwalidowanie, a w domenie, w której nie żyjesz, nie masz jak odróżnić jednego od drugiego.
Nie musisz przestać generować kodu poza swoją domeną. Generuj śmiało — to się naprawdę przydaje do eksplorowania, do szkicowania, do poznawania kształtu nieznanego problemu.
Potrzebujesz jednego uczciwego sprawdzenia, zanim ten kod stanie się decyzją:
Czy umiem samodzielnie stwierdzić, że ten wynik jest poprawny — czy tylko, że się uruchamia?
Jeśli umiesz to zweryfikować — wypuszczaj. Jeśli jedyne, co potrafisz potwierdzić, to że się wykonuje i wygląda schludnie, to trafiłeś na granicę swojej kompetencji — a to nie jest moment, żeby napisać kolejny prompt. To moment, żeby ściągnąć osobę, która ma tę cichą listę kontrolną, której ty nie masz. To nie jest przyznanie, że AI cię zawiodło. To jest poprawny sposób użycia go — AI produkuje, specjalista ocenia, ty znasz różnicę.
AI nie sprawiło, że specjalista jest zbędny. Sprawiło, że koszt jego braku jest niewidoczny — aż do momentu, w którym robi się drogi.
Czy ten wpis był pomocny?