Return

Technicznie

Na co dzień jestem liderem zespołu programistów w firmie Future Processing. Konsultuję rozwiązania, prowadzę szkolenia, zajmuję się rekrutacją. W mojej pracy nie koncentruję się wyłącznie na aspektach technicznych, ale staram się być pomostem pomiędzy światem biznesowym, a 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.

Regularnie pracuje z: Nodejs, Npm, AngularJS, Webpack, ElectronJs, Grunt, Gulp, Sass, webSockets, Cordova, Docker, Vagrant, Node-gyp, C++, Python, Numpy, SciPy, ITK, VTK, TensorFlow, Keras, sklearn, Tornado, PHP, WebGL, Pixel/Vertex Sahder, Jupyter, KateX, ThreeJs, OpenCV, Git, ParaView, SQL.

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

Od 2017 roku jestem liderem zespołu realizującego projekt dla Narodowego Centrum Badań i Rozwoju. Naszym celem jest stworzenie platformy obliczeniowej umożliwiającej symulowanie przepływu krwi w naczyniach wieńcowych. Zaawansowane algorytmy z zakresu fizyki obliczeniowej, uczenie maszynoweanaliza obrazów mają pomóc lekarzom w diagnostyce i podejmowaniu decyzji.

W ramach realizacji projektu regularnie współpracuję z fizykami, lekarzami i analitykami biznesowymi. Uczestniczę w międzynarodowych konferencjach.

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.

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 konferencjachmeet-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 i studentów. 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.
— Stanisław Ulam, polski matematyk

To powyższe zdanie niezmiennie motywuje mnie od ponad 10 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.