Nauczyłem się programować sam. Bez studiów informatycznych. Bez mentora. Bez drogiego bootcampu.

Pierwszą pracą, w której używałem tego co się nauczyłem, było budowanie systemu płatności dla instytucji finansowej. Tak, systemu płatności. Jednej z tych rzeczy, gdzie literówka w kodzie może kosztować klienta realne pieniądze.

Dopiero później poszedłem na studia. Psychologia i pedagogika. Ale to już zupełnie inna historia, o której napiszę innym razem.

Jeśli zastanawiasz się, jak zostać programistą bez studiów, albo myślisz o przebranżowieniu na IT, ten post jest dla Ciebie. Nie znajdziesz tu gotowej mapy (“zrób te 5 kroków i masz robotę w 3 miesiące”), bo takiej mapy nie ma. Znajdziesz za to moją historię i rzeczy, których żałuję, że nikt mi nie powiedział na początku.

Od zera do systemu płatności

Zacznijmy od tego, jak to się w ogóle stało.

Nie było olśnienia. Nie obudziłem się rano z myślą “muszę zostać programistą”. Po prostu chciałem coś zbudować i nie chciałem czekać, aż ktoś mi to zrobi.

To okazało się najlepszą motywacją, jaką mogłem mieć. Bo gdy uczysz się programowania z konkretnego powodu, nie pytasz “kiedy mi się to przyda”. Widzisz efekt od razu. Twój kod robi coś, czego wcześniej nie było.

Uczyłem się wszystkiego sam. Dokumentacja, fora, tutoriale, trial and error. Głównie error. Gdy po kilku miesiącach zacząłem czuć, że ogarniam podstawy, zacząłem brać pierwsze drobne projekty. Potem większe. Potem trafiłem do instytucji finansowej, gdzie jako samouk dostałem zadanie zbudowania czegoś, co później obsługiwało prawdziwe transakcje.

Kiedy Ci mówią, że “bez studiów nie dostaniesz dobrej pracy w IT”, pamiętaj, że to nieprawda. Ja dostałem. Nie jestem unikalnym przypadkiem. Znam dziesiątki osób, które poszły tą samą drogą.

Co robiłem w fintech oprócz kodowania

Najciekawsze jest to, co wydarzyło się po tym, jak zbudowałem system płatności. Moja rola zaczęła się zmieniać.

Najpierw onboarding klientów. Czyli rozmowy z firmami, które chciały używać naszego produktu, rozumienie ich problemów, tłumaczenie im, jak to ma działać. Dziwne dla programisty? Tak. Ale bezcenne doświadczenie.

Potem analiza AML (Anti-Money Laundering). Czyli patrzenie na transakcje i szukanie wzorców, które mogą wskazywać na pranie pieniędzy. To nauczyło mnie myśleć w kategoriach danych i ryzyka. Inaczej niż większość programistów, którzy myślą głównie w kategoriach funkcji.

Dlaczego to ważne dla Ciebie, jeśli dopiero zaczynasz?

Bo programowanie to tylko początek. Najlepsze rzeczy, jakie mi się w karierze przytrafiły, były wtedy, gdy pozwoliłem swojej roli ewoluować. Zaczynałem jako developer, potem byłem bliżej klienta, potem bliżej danych, potem prowadziłem własny biznes. Każda z tych ról nauczyła mnie czegoś, czego nie nauczyłbym się, gdybym siedział przez 10 lat w jednym typie pracy.

Jeśli wejdziesz do IT jako samouk, miej otwartą głowę. To, od czego zaczniesz, nie musi być tym, co będziesz robił za 5 lat. I to jest dobre.

Jak nauczyć się programować od zera (moja metoda)

Przetestowałem sporo rzeczy, które nie działały. I kilka, które działały. Oto co bym powtórzył, gdybym zaczynał dziś.

1. Wybierz jeden język i trzymaj się go przez 6 miesięcy

Największy błąd początkujących to skakanie między językami. Dziś Python, jutro JavaScript, za tydzień Rust, bo ktoś na X napisał, że “Rust to przyszłość”. Tak się nie nauczysz niczego.

Wybierz jeden język na start i daj mu 6 miesięcy. Dla web developera polecam JavaScript (lub TypeScript). Dla automatyzacji i data science Python. Dla aplikacji mobilnych Swift lub Kotlin. Wybierz ten, który pasuje do tego, co chcesz budować.

2. Buduj projekty, nie rób tylko tutoriali

Tutoriale są zdradliwe. Oglądasz trzygodzinny kurs na YouTube, wszystko wydaje się jasne, a potem siadasz sam i nie wiesz od czego zacząć. To tzw. “tutorial hell”.

Wyjście jest jedno: buduj własne projekty. Nawet głupie. Nawet z błędami. Pierwsza aplikacja, którą zbudujesz sam, od zera, nauczy Cię więcej niż 20 kursów.

Moja zasada: na każdy jeden tutorial, zrób jeden własny projekt inspirowany tym, czego się właśnie nauczyłeś. Nie kopiuj, tylko weź koncept i zrób coś swojego.

3. Publikuj kod na GitHub od pierwszego dnia

Większość samouków boi się GitHuba. “Mój kod jest słaby, nie chcę żeby ktoś to widział”. Błąd.

Publikuj wszystko. Brzydkie, niedokończone, z literówkami w nazwach zmiennych. Bo kiedy za rok spojrzysz na swój commit history, zobaczysz, jak bardzo się rozwinąłeś. A kiedy będziesz szukał pierwszej pracy, rekruterzy zobaczą, że konsekwentnie kodujesz, a nie tylko “umiesz teoretycznie”.

4. Ucz się w kontekście, nie abstrakcyjnie

Nie ucz się “wszystkich algorytmów” na zapas. Nie kuj struktur danych do zawodów. Ucz się tego, co potrzebujesz teraz, do projektu, który budujesz.

Piszesz stronę i nie wiesz jak zrobić formularz kontaktowy? Ucz się formularzy. Potrzebujesz zapisać dane do bazy? Ucz się baz danych. Tak zapamiętasz, bo od razu zobaczysz zastosowanie.

Czego nikt nie powie Ci na początku

Wszystkie te artykuły “jak zostać programistą w 3 miesiące” mają problem. Są kłamliwe. Nie dlatego, że nie da się w 3 miesiące. Dlatego, że pomijają to, co trudne.

Imposter syndrome nie znika. Kodujesz 5 lat i nadal myślisz “czy ja w ogóle wiem co robię”. To normalne. Programiści z 15-letnim stażem mają tak samo. Różnica jest taka, że uczysz się żyć z tym uczuciem i nie pozwalasz mu Cię zatrzymać.

Najtrudniej jest zacząć pierwszą pracę. Dostanie pierwszego juniorskiego stanowiska jest najtrudniejszą częścią całej podróży. Trudniej niż nauka języka. Trudniej niż budowanie projektów. Przygotuj się na setki aplikacji, odrzucenia i miesiące czekania.

Stack technologiczny zmieni się 5 razy. Technologie, których uczysz się dziś, za 5 lat będą inne. I to jest OK. Prawdziwa umiejętność programisty to nie znajomość konkretnego frameworka. To umiejętność uczenia się nowych rzeczy szybko. Im wcześniej to zaakceptujesz, tym łatwiej Ci będzie.

Narzędzia pomagają mniej niż myślisz. Nie szukaj “najlepszego IDE” ani “najlepszej aplikacji do notatek”. Każda godzina spędzona na optymalizacji setupu to godzina nie spędzona na kodowaniu. Ja akurat wybrałem Obsidian i VS Code, ale to nie one decydują o tym, czy zostanę dobrym programistą.

Co się dzieje, gdy już jesteś programistą

Najciekawsza część mojej historii nie jest tym, jak nauczyłem się programować. Jest tym, co stało się potem.

Najpierw kariera wewnątrz firmy (onboarding, AML). Potem studia psychologii i pedagogiki (ale to już gdy byłem po drodze). Potem przejście na swoje. Potem agencja interaktywna, a obok niej własne produkty: marketplace, aplikacje mobilne, gry.

Umiejętność programowania otworzyła mi drzwi, ale nie zdefiniowała mnie. I tu jest prawdziwa moc tego zawodu: kiedy umiesz budować rzeczy, masz wolność wyboru, czym się zajmujesz. Możesz pracować w banku, możesz prowadzić agencję, możesz budować własne produkty, możesz nauczać. Albo wszystko na raz.

Czy warto?

Szczerze? Tak, ale nie dla wszystkich.

Programowanie to nie jest “łatwy sposób na duże pieniądze”. To zawód, który wymaga ciągłej nauki, cierpliwości i tolerancji na frustrację. Jeśli szukasz stabilności i rutyny, to nie jest branża dla Ciebie.

Ale jeśli lubisz rozwiązywać problemy, tworzyć rzeczy od zera i nie przeszkadza Ci, że co rok musisz uczyć się czegoś nowego, to programowanie daje Ci coś, czego mało który zawód daje. Możesz zbudować cokolwiek chcesz, mając tylko laptop i internet. Zero pozwoleń, zero gatekeeperów.

Jeśli zastanawiasz się, czy zostać programistą bez studiów, odpowiedź brzmi: tak, da się. Ale tylko jeśli jesteś gotowy potraktować to poważnie i dać sobie czas. Rok, dwa, trzy. Nie trzy miesiące.

Ja dałem sobie ten czas i nie żałuję.