Toruń, Polska
O mnie
Jestem studentem informatyki na UMK w Toruniu, na specjalizacji sztuczna inteligencja, i programistą z komercyjnym doświadczeniem w PHP/Symfony. Największą satysfakcję daje mi doprowadzenie systemu do stanu, w którym rzeczywiście wytrzymuje - obciążenie, słabe połączenie, błędny input - a nie tylko wygląda dobrze na demo.

Toruń · dostępny do współpracy
Poza pracą komercyjną rozwijam własne projekty, żeby móc przećwiczyć rzeczy, na które nie ma miejsca w typowym zadaniu rekrutacyjnym: rozbicie monolitu na mikroserwisy metodą Strangler Fig (Ordered), wpięcie AI w aplikację działającą offline-first (Unordered), czy kilka aplikacji Flutter dostępnych publicznie na moim GitHubie.
Jak do tego doszedłem
- 10/2022 - 02/2026
Studia inżynierskie, Informatyka
Uniwersytet Mikołaja Kopernika w Toruniu
3. miejsce w uniwersyteckim projekcie zespołowym - jako lider zespołu odpowiadałem za koordynację prac i dowiozłem zwycięskie rozwiązanie, nagrodzone finansowo.
- 11/2025 - 02/2026
PHP Developer, Iteo S.A. (Toruń)
Praca komercyjna
Backend w PHP/Symfony: REST API, integracje bazodanowe (Doctrine ORM, PostgreSQL, MySQL), testy (PHPUnit, Behat, PHPSpec), statyczna analiza kodu (PHPStan, Psalm), code review i wdrożenia razem z zespołem.
- 03/2026 - obecnie
Studia magisterskie, Informatyka (AI)
Uniwersytet Mikołaja Kopernika w Toruniu
Specjalizacja Sztuczna Inteligencja.
Czym się zajmuję
Cztery obszary, które się u mnie przenikają - backend rzadko istnieje bez automatyzacji, a integracje AI rzadko bez mobile'a, który z nich korzysta.
Czym się kieruję
Testuję zanim ogłoszę sukces
Ordered przeszedł load testy w Gatlingu na tych samych scenariuszach co monolit, zanim uznałem podział na mikroserwisy za udany. Wynik, nie deklaracja, jest dowodem.
Offline i błędy to normalny stan aplikacji, nie wyjątek
W Unordered i HabitForge dane muszą przetrwać słabe połączenie. Projektuję pod to od początku, nie doklejam obsługi błędów na końcu.
Rozumiem całość, zanim ją podzielę
Rozbicie monolitu na mikroserwisy zacząłem dopiero wtedy, gdy potrafiłem wytłumaczyć każdy fragment systemu - inaczej podział to tylko przenoszenie problemu, nie jego rozwiązanie.