Portfolio

Napisano dnia 11.08.2020 r. o godzinie 14:11
Autor: Piotr Sperka

W poniższym CV zamieściłem listę wszystkich ważniejszych projektów komercyjnych, w których brałem udział. Poza tym tworzę również prywatne projekty (głównie embedded), z których ciekawsze staram się opisywać na blogu. Projekt wykonany kompleksowo oznacza, że w całości został wykonany przeze mnie. W przeciwnym razie przy każdym projekcie opisałem zajmowane stanowisko lub zakres obowiązków.

Doświadczenie

Holo4Med S.A., Chorzów
styczeń 2022 – obecnie
Starszy programista C# .NET, Java i C++, projektant CAD

Evertop Sp. z o.o., Gliwice, Chorzów
lipiec 2014 – grudzień 2021
Starszy programista Java, C# .NET, C++

Samozatrudnienie,
czerwiec 2016 – obecnie
Elektronik, programista embedded

Projekty

HoloMIAI, Holo4Med S.A.
październik 2021 – obecnie
Projekt jest rozwinięciem projektu MIAI i poza zwyczajnym rozwojem systemu wprowadził wykorzystanie mieszanej rzeczywistości z wykorzystaniem Microsoft HoloLens 2.
Pracuję na stanowisku głównego inżyniera. Do moich obowiązków należy: tworzenie kodu, projektowanie w CAD na potrzeby druku 3D (zarówno nowych elementów jak i odtwarzanie istniejących) i opracowywanie nowych funkcjonalności.
Technologie: C# – Windows Forms, .NET Core 6, C++ – głównie biblioteki ITK oraz VTK, Unity, Autodesk Fusion 360 i obsługa druku 3D


System typu SCADA, PSI Polska sp. z o.o. (outsourcing)
marzec 2021 – październik 2021
Pracowałem na stanowisku programisty Java. Projekt wykorzystywał JEE i własnościowy framework klienta.


Moduł rozszerzający Raspberry Pi, Samozatrudnienie
2021
Kompleksowo zaprojektowane urządzenie podłączane do Raspberry Pi 4, które zawiera zespół przekaźników, sterowanie taśm LED, kartę dźwiękową, czujniki temperatury i wilgotności oraz zasilacz dla Raspberry Pi. Umożliwia niezależne od Raspberry Pi sterowanie peryferiami poprzez WiFi oraz Ethernet oraz harmonogramy.
Technologie: C, C++, Raspberry Pi, ESP32, STM32


Moduł Planisty SWD PRM, Evertop Sp. z o.o.
kwiecień 2020 – grudzień 2020
Praca na stanowisku głównego programisty. Budowa aplikacji Modułu Planisty służącej do układania i zarządzania harmonogramami. Aplikacja webowa (jHipster, Spring Boot) z desktopowym frontem wykonanym w JavaFX połączonym ze Spring Bootem.
Technologie: Java, JavaFX, Spring Boot, Mikroserwisy, JPA, H2, PostgreSQL


initiative.diabetes Registration Portal, Evertop sp. z o.o.
listopad 2019 – grudzień 2019
Full stack. Projekt obejmował gruntowną przebudowę istniejącego portalu rejestracji do programu initiative.diabetes. Zmieniony został wygląd niektórych formularzy, a także dodany nowy sposób logowania i przekazywania danych pacjenta — poprzez OAuth2. W późniejszym czasie zostały dodane dodatkowe funkcje pozwalające na integrację z aplikacją mobilną.
Technologie: Java, Spring, Hibernate, JSF, MySQL


Odtwarzacz audio RTP z głośnikiem, Samozatrudnienie
2019
Kompleksowo zaprojektowane urządzenie (hardware i software) umożliwiające odtwarzanie komunikatów zapisanych lokalnie na karcie SD lub przesyłanych poprzez RTP. Wspiera kilka różnych kodeków audio, administracja odbywa się poprzez panel dostępny przez HTTP. Komunikacja z urządzeniem odbywa się poprzez REST.
Technologie: C, STM32, Ethernet, PoE


Sterownik tablicy LED z PoE, Samozatrudnienie
2019
Kompleksowo zaprojektowane urządzenie (hardware i software) umożliwiające sterowanie panelami LED o różnych rozmiarach. Administracja odbywa się poprzez panel dostępny przez HTTP. Komunikacja z urządzeniem odbywa się poprzez REST.
Technologie: C, STM32, Ethernet, PoE


Baza OOŚ, Evertop sp. z o.o.
2019, 2020
Full stack. Projekt obejmował modernizację istniejącego systemu.
Technologie: Java, Spring, Liferay, JSF, PostgreSQL


System Awizacji Kontrachentów, Evertop sp. z o.o.
2019 – 2021
Uczestnictwo na stanowisku programisty .NET Windows Forms. Projekt obejmował stworzenie systemu umożliwiającego awizację kontrahentów do wizyty w zakładzie, a także późniejszą ich obsługę (ważenie, kolejkowanie, kierowanie w odpowiednie miejsce). Składa się z części webowej oraz desktopowej.
Technologie: .NET Framework, MVC, Windows Forms


MIAI, Evertop sp. z o.o.
listopad 2016 – grudzień 2019
Uczestnictwo w projekcie R&D na stanowisku starszego programisty. Projekt dotyczył nawigacji podczas termoablacji guzów wątroby (więcej informacji). Oprogramowanie zostało napisane w technologii .NET z wykorzystaniem bibliotek Open Inventor oraz OpenGL, a także bibliotek pisanych w C++ z użyciem ITK, VTK, oraz mikrooptymalizacji z wykorzystaniem instrukcji SSE oraz AVX.
Technologie: .NET Framework, Windows Forms, Open Inventor, ITK, VTK, OpenGL


Wielokanałowe urządzenie akwizycji audio z DSP, Samozatrudnienie
2018
Kompleksowo zaprojektowane urządzenie (hardware i software) umożliwiające akwizycję dźwięku z wielu źródeł (mikrofonów), przetwarzanie sygnału (DSP) i przesyłanie go do komputera poprzez USB 2.0. Urządzenie umożliwia przesyłanie do 32 kanałów jednocześnie, posiada wyświetlacz informujący o stanie wejść i ewentualnych awariach.
Technologie: C, Verilog, FPGA, STM32, DSP


ChessLive, Evertop sp. z o.o.
2018
Projekt miał na celu śledzenie przebiegu gry szachowej za pomocą kamery i oprogramowania analizującego obrazy. Mój udział polegał na wsparciu w tworzeniu programu opierającego się na bibliotece OpenCV oraz na napisaniu algorytmu analizującego poprawność ruchów na podstawie kolejnych nadchodzących danych.
Technologie: C++, OpenCV


Portal mapowy dla UKE PIT, Evertop sp. z o.o.
2018
Uczestnictwo na stanowisku programisty backend.
Technologie: Python, Flask, Geoportal


System wspomagający liczenie ptaków dla OTOP, Evertop sp. z o.o.
2016, 2020-2021
Uczestnictwo na stanowisku programisty backend Java.
Technologie: Java, Spring, Hibernate, AngularJS, Oracle


Natura 2000, Evertop sp. z o.o.
2016
Uczestnictwo na stanowisku głównego programisty. Projekt obejmował modernizację oprogramowania wykorzystującego Wavemaker na frontendzie oraz Pythona na backendzie, a także stworzenie modułu generowania raportów w Javie ze Springiem oraz Hibernate.
Technologie: Spring, Hibernate, Wavemaker


Biblioteka AV, Evertop sp. z o.o.
2014 – 2016
Uczestnictwo na stanowisku głównego programisty. Biblioteka łącząca istniejące oprogramowanie ze sprzętem. Jej zadaniem była akwizycja dźwięku i obrazu z wielu źródeł, miksowanie oraz kompresja do kontenera OGG w czasie rzeczywistym.
Technologie: C++, OGG, Theora, Vorbix, Speex, OpenGL


Oprogramowanie wspomagające analizę danych sejsmicznych, Evertop sp. z o.o.
2015
Uczestnictwo na stanowisku głównego programisty. Wieloplatformowe oprogramowanie służące do pobierania, analizy i prezentacji danych sejsmicznych. Program umożliwiał uruchamianie wtyczek napisanych w językach C++ oraz Python.
Technologie: C++, wxWidgets, Python


Portal Jakości Powietrza 2.0, Evertop sp. z o.o.
2015
Uczestnictwo na stanowisku programisty backend.
Technologie: Java, Spring, Hibernate, Bootstrap, PostgreSQL, PostGIS

Umiejętności miękkie

  • Szybka samodzielna nauka,
  • Praca zespołowa lub samodzielna,
  • Dobra samoorganizacja,
  • Odpowiedzialność,
  • Wielozadaniowość,
  • Agile,
  • Scrum

Umiejętności zawodowe

  • Java: Spring, Spring Boot, Hibernate, JavaFX,
  • C/C++: VTK, AVR, STM32, ESP32, Arduino
  • C#: .NET Framework, Windows Forms, .NET Core,
  • Python,
  • Bazy danych: PostgreSQL, MySQL, SQLite, Oracle
  • OS: Windows, Linux (desktop i serwer), MacOS

Oprogramowanie

  • IntelliJ,
  • Rider,
  • CLion,
  • Visual Studio,
  • Git,
  • Cmake
  • Fusion 360,
  • Docker,
  • Linux,
  • Windows

Edukacja

Październik 2011 – Czerwiec 2016
Magister inżynier
Elektronika i Telekomunikacja, specjalizacja Radioelektronika,
Wydział Automatyki, Elektroniki i
Informatyki na Politechnice Śląskiej w Gliwicach

Języki obce

Angielski (B2)