Jak zdobywam wiedzę jako programistka i z jakich platform korzystam

Platformy do nauki programowania: Educative, Master.dev i Scrimba

Platformy do nauki programowania mnożą się co roku. To nie jest ich ranking. To trzy miejsca, z których faktycznie korzystam. We wpisie nie ma linków afiliacyjnych. Nie podaję też konkretnych cen, bo zmieniają się zbyt często, a promocje potrafią być stałym elementem cennika. Aktualne stawki sprawdzicie bezpośrednio na stronach platform.

📚 Kolejność, w jakiej się uczę

Zaczynam od dokumentacji. Przy większości bibliotek i narzędzi to nadal najszybsza droga do konkretnej odpowiedzi, a przy okazji jedyne źródło, które na pewno jest aktualne. Kursy i artykuły zawsze mają jakieś opóźnienie względem tego, co dzieje się w repozytorium.

Sama dokumentacja mi jednak nie wystarcza. Najbardziej lubię kursy typu hands-on i traktuję je jako jej uzupełnienie. Dokumentacja opisuje API i wszystkie dostępne opcje. Kurs, w którym od razu piszę kod, pokazuje, jak to zastosować w praktyce i które z tych opcji wybiera ktoś, kto pracuje z danym narzędziem na co dzień. Dopiero te dwie rzeczy razem zostają mi w głowie na dłużej.

Dlatego wszystkie trzy platformy, które opisuję niżej, mają jedną wspólną cechę. W każdej z nich piszę kod w trakcie nauki, a nie po niej.

Trzeci krok to własny projekt. Bez niego wiedza z kursu wyparowuje w kilka tygodni.

📖 Educative

Educative jest platformą tekstową. Zamiast nagrań wideo dostajecie lekcje do czytania, z fragmentami kodu, które uruchamiacie bezpośrednio w przeglądarce. Nie ma konfiguracji środowiska, nie ma przełączania się między odtwarzaczem a edytorem.

Ten format ma jedną dużą zaletę: czytacie we własnym tempie. Fragment, który znacie, przewijacie w kilka sekund. Do trudnego miejsca wracacie bez szukania po osi czasu nagrania. Przy powtórkach przed rozmową rekrutacyjną robi to realną różnicę.

Educative ma też dużo materiałów przygotowujących do rozmów kwalifikacyjnych. Najbardziej rozbudowane są tematy algorytmiczne i system design, czyli dokładnie to, o co pyta się na rozmowach w większych firmach. Do tego dochodzą ścieżki backendowe i chmurowe.

Platforma dołożyła w ostatnich latach sporo funkcji opartych na AI, w tym asystenta nauki i generowane ścieżki. Traktuję je jako dodatek, nie jako powód, żeby wybrać Educative.

🎥 Master.dev (dawniej Frontend Masters)

Jeśli szukacie Frontend Masters, to platforma nazywa się teraz Master.dev. Zmiana nazwy nastąpiła w czerwcu 2026 roku. Powód podany w ogłoszeniu jest prosty: słowo „frontend” przestało odpowiadać zawartości katalogu, w którym są dziś kursy o Go, Ruscie, bazach danych, infrastrukturze chmurowej, Javie, Pythonie, DevOpsie i narzędziach AI. Kursy i prowadzący zostają bez zmian.

Format to nagrania warsztatów prowadzonych na żywo. Słychać pytania od uczestników, widać momenty, w których coś nie działa od razu. To zupełnie inne doświadczenie niż wygładzone nagranie studyjne.

Największą wartością są tu prowadzący. To w większości praktycy, którzy uczą jednego wąskiego tematu bardzo dokładnie. Materiał idzie głębiej niż na pozostałych dwóch platformach, ale też szybciej zakłada, że podstawy macie już opanowane. Kursy trwają po kilka godzin, więc trzeba zaplanować na nie czas.

⌨️ Scrimba

Scrimba opiera się na formacie, którego nie ma nigdzie indziej. Nagranie nie jest filmem, tylko zapisem sesji w edytorze. W dowolnym momencie zatrzymujecie lekcję, wchodzicie w kod prowadzącego i go zmieniacie. Bez kopiowania, bez drugiego okna, bez zakładania własnego projektu.

W praktyce oznacza to, że trudniej jest oglądać biernie. To jest realna przewaga tego formatu i powód, dla którego wracam do Scrimby przy tematach, które chcę mieć od razu w palcach.

Platforma jest zbudowana wokół ścieżek nauki prowadzących od zera do poziomu, na którym można szukać pracy. Część materiałów jest dostępna bez opłat, więc format sprawdzicie przed jakąkolwiek decyzją o subskrypcji.

⚠️ Czego platformy nie załatwią

Żadna subskrypcja nie zastąpi trzech rzeczy.

Pierwsza to dokumentacja. Kurs pokazuje jedną drogę przez temat, wybraną przez prowadzącego. Dokumentacja pokazuje wszystkie opcje i to w niej znajdziecie informację o tym, co zmieniło się w ostatniej wersji.

Druga to czytanie cudzego kodu. Kursowe przykłady są przygotowane tak, żeby działały. Prawdziwe repozytoria takie nie są i to właśnie w nich widać, jak wyglądają kompromisy.

Trzecia to własny projekt. Dopiero przy nim wychodzi, czego naprawdę nie rozumiecie.

Kursy skracają drogę. Nie zastępują pracy.

🧭 Platformy do nauki programowania: co wybrać na jakim etapie

PlatformaFormatSprawdza się, gdy
⌨️ Scrimbainteraktywne nagrania z edytoremzaczynacie i potrzebujecie prowadzenia za rękę
🎥 Master.devnagrania warsztatówmacie podstawy i chcecie wejść głębiej w konkretny temat
📖 Educativelekcje tekstowe z kodem w przeglądarceuczycie się czytając i wracacie do materiału wielokrotnie

Sensowniejsze niż utrzymywanie trzech abonamentów naraz wydaje mi się wykupienie jednej platformy na czas, w którym faktycznie uczycie się konkretnej rzeczy.

💬 Na koniec

Platformy do nauki programowania są dziś naprawdę dobre i wybór między nimi ma mniejsze znaczenie niż to, czy po kursie faktycznie coś zbudujecie. Każda z tych trzech się sprawdza. Żadna nie zadziała, jeśli zostanie przy oglądaniu.

A Wy z czego korzystacie? Napiszcie w komentarzach, chętnie sprawdzę coś, czego jeszcze nie znam.

useOptimistic w React 19 — UI, który reaguje zanim serwer odpowie

useOptimistic hook w React 19 — optimistic updates bez boilerplate

useOptimistic React 19 to ostatni z trzech hooków, o których piszę w tej serii. W pierwszym wpisie pokazywałam jak useActionState eliminuje ręczne zarządzanie pending state i błędami. W drugim — jak useFormStatus udostępnia stan formularza zagnieżdżonym komponentom bez props drillingu.

Tym razem zajmiemy się czymś trochę innym — nie tym jak obsłużyć stan formularza, ale jak sprawić żeby UI reagowało natychmiast, jeszcze zanim serwer w ogóle odpowie. 🚀

useFormStatus w React 19 — koniec z props drillingiem w formularzach

useFormStatus hook w React 19 — dostęp do stanu formularza bez props drillingu

Hook useFormStatus pojawił się w React 19 jako odpowiedź na problem, który zostaje nierozwiązany nawet gdy używacie useActionState — co z komponentami zagnieżdżonymi wewnątrz formularza, które też chcą wiedzieć czy akcja jest w toku?

poprzednim wpisie pokazywałam jak useActionState React 19 eliminuje ręczne zarządzanie pending state i błędami. Na końcu wspomniałam o jednym problemie, który mimo wszystko zostaje — co jeśli przycisk submit jest osobnym komponentem, trzy poziomy głębiej w drzewie? Props drilling zaczyna boleć. 📈

useFormStatus rozwiązuje dokładnie to. I jest zaskakująco prosty. 🙂

useActionState w React 19 — koniec z ręcznym zarządzaniem stanem formularzy

useActionState hook w React 19 — porównanie kodu przed i po

Hook useActionState w React 19, który zmienia sposób obsługi formularzy. Jeśli piszecie formularze w React od jakiegoś czasu, to pewnie znacie ten moment — zaczynacie nowy komponent i niemal odruchowo dopisujecie useState dla pending, useState dla błędu, useState dla sukcesu. A potem try/catch/finally. A potem resetowanie tych flag przed kolejnym wysłaniem. I tak za każdym razem. 😅

React 19 wprowadza useActionState — hook, który bierze na siebie całą tę powtarzalną część. Dzisiaj pokażę Wam dokładnie, co zmienia i jak go używać. 🙂

React Compiler w projekcie legacy — jak wdrożyć krok po kroku

React Compiler wdrożenie w projekcie legacy

Nowe projekty to bajka. Zaczynacie od czystej kartki, instalujecie React Compiler od razu, konfigurujecie ESLint i wszystko działa. Ale większość z nas nie ma tego luksusu.

Mam w swoim portfolio projekty, które zaczęły się w czasach, gdy useMemo i useCallback były jedynym sposobem na optymalizację. Kod pisany przez kilka lat, przez kilka zespołów, z różnymi standardami — albo bez nich. I właśnie dla takich projektów ten wpis powstał.

Pokażę Wam, jak podejść do wdrożenia React Compilera nie w idealnym świecie, ale w tym prawdziwym — gdzie macie 300 komponentów, połowa naruszeń Rules of React jest nieświadoma, a testy… są albo ich nie ma.