CV Node.js / Full-Stack JavaScript: jak opisać stack pod ofertę
Full-stack JavaScript łatwo zamienia się w „wszystko po trochu”. Oferta chce konkretnego ciężaru: czysty backend Node albo fullstack. Co wyeksponować nad fold i jak opisać projekt efektem (latencja, RPS, czas builda), bez rozmywania akcentu.

Full-stack JavaScript to wdzięczny opis i niebezpieczna etykieta. Wdzięczny, bo jednym hasłem mówisz, że ogarniasz i backend, i front, w tym samym języku, bez przeskakiwania między ekosystemami. Niebezpieczny, bo dla rekrutera „fullstack JS” bardzo często czyta się jak „wszystko po trochu”: trochę Node, trochę Reacta, trochę bazy, nic do końca. A oferta nie szuka kogoś, kto liznął wszystkiego. Szuka konkretnego ciężaru.
Twoje CV pod ofertę Node ma w sześć sekund pokazać, gdzie ten ciężar leży. Jedna oferta chce czystego backendu: API w Node, kolejki, baza, wydajność pod ruchem. Druga chce realnego fullstacka: Node z tyłu, Next.js z przodu, jeden człowiek dowozi feature end-to-end. To dwie różne role pod tym samym hasłem, a tym samym CV nie trafisz w obie naraz, jeśli rozłożysz akcent równo na wszystko.
Poniżej masz, co wyeksponować nad fold, jak ustawić akcent pod konkretną ofertę bez rozmywania, i jak opisać projekt przez efekt, który w JS się liczy: latencja API, RPS, czas builda, czas pierwszego renderu.
Co wyeksponować nad fold: Node, framework, baza, TypeScript
„Nad fold” to ta część CV, którą rekruter widzi bez przewijania. Pod ofertę Node ma tam być widać cztery rzeczy: runtime i framework backendowy, sposób pracy z bazą, warstwę API i to, czy piszesz w TypeScripcie. To rdzeń, reszta jest wsparciem.
Ułóż umiejętności w kolejności istotności dla oferty, nie alfabetycznie:
- Rdzeń: Node.js, framework z oferty (Express albo NestJS), TypeScript, baza (PostgreSQL, MongoDB, ta z ogłoszenia na pierwszym miejscu), REST albo GraphQL.
- Realne wsparcie: ORM (Prisma, TypeORM), kolejki i cache (Redis), testy (Jest albo Vitest, Supertest, Playwright), Docker, narzędzia buildowe.
- Reszta: CI, monitoring, chmura, niżej i mniejszą wagą.
Jeśli oferta wymienia NestJS, a ty realnie na nim pracowałeś, ma być widoczny od razu, nie zakopany między dwudziestą a trzydziestą pozycją. To samo z bazą: SQL i NoSQL to dla rekrutera różne światy, więc nie wrzucaj „bazy danych” jako worka, tylko nazwij to, czego używasz. TypeScript też jest sygnałem: „JavaScript” i „TypeScript” mówią rekruterowi, w jakim kodzie się poruszasz i czy ogarniasz typowanie w większym projekcie.

Czysty backend Node czy fullstack: ustaw akcent pod ofertę
To jest decyzja, która rozstrzyga, czy twoje CV trafi w ofertę, czy się o nią obije. Masz w bazie projekty, w których robiłeś i jedno, i drugie. Pytanie nie brzmi „co wpisać”, tylko „co postawić na pierwszym planie pod tę konkretną ofertę”.
Pod ofertę czysto backendową w Node eksponuj API, bazę, kolejki i wydajność pod obciążeniem. Front zejdź do tła albo pomiń, bo tu nikt nie pyta o Reacta. Pokaż, że projektujesz serwis, który trzyma latencję, nie zarzyna bazy i da się go skalować, gdy ruch urośnie.
Pod ofertę fullstack pokaż, że dowozisz feature end-to-end: schemat w bazie, endpoint w Node, komponent w Next.js, jeden człowiek od kliknięcia do zapisu. Tu front jest plusem, nie szumem, bo oferta chce kogoś, kto nie odbija piłki między backendem a frontem.
W obu przypadkach to ten sam projekt, inny pierwszy plan, bez przepisywania historii. Jeden projekt zwykle daje materiał na kilka odcieni tej samej roli: backend integracyjny, fullstack produktowy, platformowy. Jak rozłożyć ten sam projekt na różne akcenty bez zmyślania, rozkładamy w jeden projekt, cztery role. Mechanikę przesuwania akcentu między czystym frontem a fullstackiem pokazujemy też z drugiej strony w CV React developera.
Czego nie rób: nie rozkładaj akcentu równo na backend i front w nadziei, że trafisz w obie oferty naraz. Wtedy nie trafisz w żadną, bo rekruter backendowy nie zobaczy backendowca, a fullstackowy nie zobaczy fullstacka. Jedna oferta, jeden akcent.
Jak opisać projekt efektem, nie zadaniem
To jest miejsce, gdzie większość CV Node’owca się wykłada. Ludzie wypisują, co robili („pisałem endpointy w Express”, „łączyłem front z API”), a to są obowiązki, nie dokonania. Nie widać ani skali, ani tego, czy po twojej robocie cokolwiek działało szybciej. Pokaż punkt wyjścia, zmianę i efekt, mierzony tym, co w JS się liczy: latencja API, RPS, czas zapytania, czas builda, czas pierwszego renderu.
Słaby zapis, który czyta się jak zakres obowiązków:
Pisałem REST API w Node i Express, integrowałem je z frontendem w Reactcie i obsługiwałem bazę danych.
Ten sam fakt, ustawiony pod ofertę:
Zaprojektowałem REST API w NestJS i PostgreSQL obsługujące 900 RPS przy p99 poniżej 90 ms. Po wykryciu problemu N+1 w warstwie ORM i dodaniu indeksów oraz cache w Redisie skróciłem czas najcięższego zapytania z 600 ms do 35 ms na bazie z 12 mln rekordów. Front w Next.js przeniosłem na renderowanie po stronie serwera, co zbiło czas pierwszego renderu z 2,1 s do 0,6 s.
Druga wersja opisuje dokładnie to samo, co robiłeś, ale pokazuje skalę (900 RPS, 12 mln rekordów), zmianę (eliminacja N+1, indeksy, cache, SSR) i wpływ w liczbach (czas zapytania z 600 do 35 ms, render z 2,1 do 0,6 s). Tego rekruter szuka, bo to odróżnia kogoś, kto sklejał kontrolery z tutoriali, od kogoś, kto wie, gdzie aplikacja traci czas.
Mocne akcenty pod Node i fullstack JS oraz ich konkrety: latencja (p95, p99 w milisekundach), przepustowość (RPS, liczba zdarzeń na sekundę z kolejki), czas zapytania (z X do Y ms po optymalizacji), czas builda i bundle (skrócony czas CI, mniejszy rozmiar paczki), wydajność frontu (czas pierwszego renderu, Core Web Vitals), skala danych (rozmiar bazy, liczba rekordów).

Słowa kluczowe z ofert Node i fullstack JS
Oferty Node i fullstack JS powtarzają konkretny zestaw zwrotów: node.js, express, nestjs, typescript, javascript, rest api, graphql, postgresql, mongodb, prisma albo typeorm, redis, next.js, react, jest albo vitest, docker, ci/cd, mikroserwisy. To są twoje słowa kluczowe. Wyciągnij must-have z konkretnej oferty i sprawdź, które masz pokryte realnym przykładem z projektu, a których lepiej nie wpisywać, bo zweryfikują je na pierwszej rozmowie technicznej w pięć minut. Jak czytać ogłoszenie pod tym kątem, rozkładamy w jak wyciągnąć słowa kluczowe z oferty IT.
Uważaj na pułapkę specyficzną dla fullstacka: pokusę wpisania całego ekosystemu JS, bo „przecież wszystko jest w JS”. Rekruter pod ofertę Node nie szuka najdłuższej listy, tylko zgodności z must-have i dowodu w projektach. Trzydzieści pozycji od Webpacka po trzy ORM-y nie mówi, w czym jesteś dobry, tylko że dotknąłeś wielu rzeczy.
Częste błędy
- „Wszystko po trochu” zamiast akcentu. Backend i front rozłożone równo, do tego osiem frameworków obok siebie. Rekruter nie wie, czy jesteś backendowcem, frontendowcem czy fullstackiem, więc nie widzi nikogo konkretnego. Ustaw jeden ciężar pod ofertę.
- Brak skali i metryk. „Pisałem API w Node” bez liczb jest puste. API na sto requestów dziennie to inna liga niż 900 RPS. Dopisz RPS, latencję, czas zapytania, rozmiar bazy. Bez liczby to deklaracja, nie dokonanie.
- TypeScript i SQL/NoSQL wrzucone jako worek. „JavaScript, bazy danych” nie mówi nic. Nazwij: TypeScript, PostgreSQL albo MongoDB. Rekruter skanuje pod konkret z ogłoszenia, nie pod ogólnik.
Jak złożyć CV Node/fullstack w ZłóżCV
Pod ofertę Node ZłóżCV bierze z twojej bazy projekty, w których realnie projektowałeś API, optymalizowałeś bazę albo dowoziłeś feature end-to-end, układa stack pod wymagania ogłoszenia i ustawia akcent na backend albo fullstack zależnie od tego, czego chce oferta, zamiast rozkładać wszystko równo. Opisy przepisuje tak, żeby było widać skalę i efekt w liczbach, a nie listę bibliotek. Wklejasz link do oferty, dostajesz dopasowane CV w PDF. Złóż CV pod ofertę Node.js, dwa pierwsze za darmo, bez karty.
Najczęstsze pytania
Jestem fullstack, ale oferta jest czysto backendowa w Node. Jak ustawić CV? Postaw backend na pierwszym planie: API, baza, kolejki, wydajność. Front zostaw jako kontekst w jednej linijce albo pomiń, jeśli nie wnosi nic do tej roli. Nie chowaj tego, że ogarniasz front, ale nie rób z niego bohatera, gdy oferta o niego nie pyta.
Wpisywać i SQL, i NoSQL, jeśli używałem obu? Tak, ale nazwij konkretne bazy i postaw na pierwszym miejscu tę z oferty. „PostgreSQL i MongoDB” jest konkretne, „bazy danych SQL i NoSQL” to worek, który rekruter pomija. Jeśli oferta wymienia jedną, to ona ma być widoczna od razu.
Express czy NestJS, gdy oferta wymienia konkretny framework? Pokaż ten, którego chce oferta, jeśli realnie go dotknąłeś. Jeśli pracowałeś na Express, a oferta chce Nest, nie udawaj, że robiłeś w Neście. Pokaż za to, że rozumiesz wzorce, które Nest formalizuje (moduły, dependency injection, warstwy), bo to przenosi się szybko i da się o tym uczciwie rozmawiać.
Jak pokazać front, gdy większość mojej roboty to backend? Nie rozdmuchuj. Pokaż jeden, dwa miejsca, gdzie dotknąłeś frontu z efektem (na przykład przeniesienie widoku na SSR, które zbiło czas renderu), i tyle. Pod ofertę fullstack to wystarczy, żeby pokazać, że ogarniasz oba końce, bez udawania frontendowca, którym nie jesteś.