Jestem programistą i pasjonatem pracy zespołowej.
Ważne jest dla mnie co robię,
ważniejsze jak to robię,
a najważniejsze dlaczego to robię.
Wierzę, że najistotniejsze i najciekawsze dzieje się na styku dyscyplin. To podejście
ukształtowało
moje kompetencje.
Technicznie
Na co dzień pracuje w interdyscyplinarnym zespole w firmie PMX. Projektuje oprogramowanie medyczne, przeprowadzam szkolenia, trenuje sieci neuronowe, biorę udział w certyfikacji oprogramowania. W mojej pracy nie koncentruję się
wyłącznie na aspektach technicznych, ale staram się być pomostem pomiędzy światem biznesowym, medycznym
i technicznym.
Zdobyłem doświadczenie pracy w międzynarodowych projektach o dużej skali. Zmierzyłem się z
wyzwaniami zarządzania złożonym ekosystemem programistycznym opartym o mikroserwisy. Języki
programowania to dla mnie wyłącznie narzędzia, które należy jak najlepiej dobierać do zadania.
Promuję pragmatyczne podejście do wytwarzania oprogramowania. Potrafię szybko
tworzyć prototypy, które weryfikują dane podejście. Staram się, aby każdy członek mojego zespołu
z czasem został Full-stack developer'em, samemu będąc przykładem takiego łączenia
kompetencji.
Medycyna
W 2017 roku zostałem liderem zespołu realizującego projekt dla Narodowego Centrum Badań i Rozwoju. Naszym
celem było stworzenie platformy obliczeniowej umożliwiającej symulowanie przepływu krwi w naczyniach
wieńcowych. Zaawansowane algorytmy z zakresu fizyki obliczeniowej, uczenie
maszynowe i analiza obrazów pomogły lekarzom w diagnostyce
i podejmowaniu decyzji. Od tego momentu moje życie zawodowe związane jest przede wszystkim z medycyną.
W ramach realizacji projektów regularnie współpracuję z fizykami, lekarzami i analitykami
biznesowymi. Uczestniczę w międzynarodowych konferencjach. Uczestniczyłem w konferencjach medycznych RSNA (Chicago) i ECR (Wiedeń).
Wspólnie z zespołem opracowałem algorytmy do segmentacji światła naczyń wieńcowych
zarówno za pomocą metod klasycznych, jak i uczenia głębokiego.
Rozwijamy solver do dynamiki płynów wraz ze specjalistycznymi optymalizacjami
uwzględniającymi geometrię naczyń wieńcowych. Stworzyliśmy wydajną architekturę klient-serwer
umożliwiającą wizualizowanie wyników symulacji w rozproszonym środowisku sieciowym na
urządzeniach desktopowych i mobilnych.
Grafika
Od zawsze byłem zainteresowany grafiką czasu rzeczywistego. Od podstaw
oprogramowałem silnik 3d wraz z rasteryzatorem na platformę MS-DOS. W OpenGL
tworzyłem aplikacje w ramach subkultury zwanej Demosceną. Z tego doświadczenia
wyniosłem umiejętność szybkiego prototypowania rozwiązań.
Jestem autorem biblioteki
K3D służącej do wizualizowania
danych trójwymiarowych w środowisku Jupyter. Jest ona zoptymalizowana pod kątem pracy z dużym
wolumenem danych. Bez problemu radzi sobie z obsługą wyświetlenia chmury kilku milionów punktów,
wizualizacją maski bitowej rozmiaru 5003 czy dynamicznym obliczeniem przecięć płaszczyzną
dowolnej geometrii. Pakiet K3D-Jupyter został pobrany ponad 800 tyś razy i jest częścią wielu projektów badawczych.
Jestem przekonany, że w pracy badawczej wizualizacja danych jest niemal tak ważna jak ich
wiarygodne pozyskanie.
Uczenie Maszynowe
Studia matematyczne dały mi solidne podstawy do zajmowania się uczeniem maszynowym. Stosuję zarówno
metody "klasyczne" jak RandomForests, SVM, xgBoost, Ward, Birch,
K-Means
, jak i uczenie głębokie.
Oprócz projektów związanych z medycyną zajmowałem się predykcją zużycia paliwa,
rozpoznawaniem obiektów w monitoringu miejskim, wykrywaniem defektów
produktów na liniach produkcyjnych czy oceną wieku osób na podstawie obrazu z kamer.
Mam pełną świadomość, że projekty związane z uczeniem maszynowym są
data-driven.
Najwięcej energii poświęcam zapewnieniu jakości danych użytych do treningu. Uczenie maszynowe nigdy nie
jest dla mnie celem samym w sobie - szukam zastosowania technologii w rozwiązaniu ważnych problemów.
Działalność społeczna
Źródłem mojej satysfakcji jest nie tylko dostarczanie działających rozwiązań, ale także dzielenie się
doświadczeniami z innymi.
Festiwal Nauki i Multimediów Abstract, którego byłem pomysłodawcą i głównym
organizatorem, przez 10 lat inspirował młodzież do poszukiwania pasji w życiu. Co roku była to
przestrzeń zaangażowania dla około 30 wolontariuszy - dla mnie były to pierwsze doświadczenia
zarządzania dużymi zespołami.
Uczestniczę w różnego rodzaju konferencjach i meet-up'ach
opowiadając o programowaniu i uczeniu maszynowym. Odwiedzam szkoły (np. w ramach
projektu iCSE)
promując nauki ścisłe i podejście interdyscyplinarne. Prowadzę szkolenia zarówno techniczne, jak i
miękkie.
W ramach grupy Ponad Murami wielokrotnie organizowaliśmy weekendowe wyjazdy dla młodzieży, studentów i dorosłych.
W tym czasie zatrzymania się, skupienia i refleksji wygłosiłem dziesiątki konferencji na temat
poszukiwania sensu, pasji i zaangażowania.
Kontakt
Wciąż jest dla mnie źródłem nieustającego zdziwienia, że kilka znaków nagryzmolonych na tablicy
lub na kartce papieru może zmienić bieg ludzkich spraw.
To powyższe zdanie niezmiennie motywuje mnie od ponad 20 lat. Mam wielkie pragnienie nadal
uczestniczyć w projektach, które mogą coś realnie zmienić.
Jestem gotowy podejmować się zadań od
etapu kartki i ołówka do wdrożenia oprogramowania z Continuous Delivery i Continuous
Integration.
Uważasz, że możemy współpracować? Chętnie spotkam się na kawie i porozmawiam
o szczegółach.