PRZEMYSŁAW BAŃKOWSKI // SOFTWARE DEVELOPER
EN
Profil zawodowy

Przemysław Bańkowski

Senior Software Developer – specjalizacja .NET

Tworzę oprogramowanie, które trafia na produkcję i realnie rozwiązuje problem klienta — od pomysłu po wdrożenie.

5+ LAT DOŚWIADCZENIA · TEAM LEADER · PRACA ZDALNA · OTWARTY NA NOWE PROJEKTY
Przemysław Bańkowski
5+
lat doświadczenia komercyjnego
21+
zrealizowanych projektów
2×
rola Team Leadera
C2
poziom angielskiego
O mnie

Od ponad 5 lat projektuję i piszę aplikacje komercyjne — architektura, logika biznesowa, integracje, wdrożenie. .NET/C# to moja główna specjalizacja. Pracowałem też jako backend team leader, z realną odpowiedzialnością za jakość kodu i stabilność systemów, które trafiają na produkcję.

Jeśli Twój projekt wymaga innego stacku niż .NET, prawdopodobnie już miałem z nim styczność — PHP przy systemach magazynowych i ERP, Python przy analizie obrazu z kamer, Angular i React przy integracjach frontendowych, Qt i C++ przy aplikacji mobilnej. Jeden z projektów realizowałem end-to-end, samodzielnie: backend w .NET, frontend w Next.js, smart contract w Rust.

Obszary, w których pracowałem:
ERP i finanse HR i czas pracy Zarządzanie majątkiem Produkcja i utrzymanie ruchu Logistyka i magazyny Web3 / Blockchain AI Dostępność cyfrowa Sektor publiczny i edukacja
Czym się zajmuję
Dostarczanie projektów end-to-end
Od analizy wymagań, przez implementację, po wdrożenie — niezależnie od stacku technologicznego.
Architektura backendu w .NET/C#
Od pojedynczego modułu po systemy wielomodułowe — DDD, Clean Architecture, produkcyjna skala.
Integracje i automatyzacja procesów
Łączenie systemów zewnętrznych i orkiestracja procesów — API AI, blockchain, giełdy, systemy klienta.
Team leadership
Koordynacja pracy zespołu backendowego, odpowiedzialność za jakość i stabilność.
Spec Driven Development
Precyzyjne specyfikowanie wymagań i architektury przed implementacją — szczególnie przy pracy z narzędziami AI-native.
BACKEND
.NETC#ASP.NET CoreEntity Framework CoreDDDClean Architecture
DANE
SQL ServerMySQL
API
REST APISignalRJWTOAuth2
DEVOPS
DockerCI/CDAzureAzure DevOps
TESTY
xUnitTestcontainers
FRONTEND / INNE
ReactNext.jsAngularRustPython
Wybrane projekty
Obszar
Technologia
Web3 / Blockchain
Team Leader
Platforma Web3 do handlu cyfrowymi aktywami
.NET
Komercyjna platforma Web3 do handlu cyfrowymi aktywami (NFT), wykorzystywana produkcyjnie przez tysiące użytkowników. Odpowiadałem za architekturę backendu w .NET, kluczową logikę biznesową i koordynację pracy zespołu backendowego jako Backend Team Leader.
↳ Zarządzanie 5-osobowym zespołem backendu, platforma dla tysięcy aktywnych użytkowników produkcyjnie
Kontekst: wielomodułowa platforma klasy enterprise do zakupu wirtualnych nieruchomości w Metaverse (NFT), architektura oparta na Domain-Driven Design z wydzielonymi modelami domenowymi dla transakcji, sald i aktywów — oddzielonymi od integracji blockchain i płatności.
Auction/marketplace engine: zaprojektowany i zbudowany od podstaw system handlu działkami NFT — aukcje z licytacją, sprzedaż po stałej cenie, sprzedaż grupowa, pełna kontrola stanów aukcji → rdzeń mechanizmu transakcyjnego platformy, obsługujący realny handel tysiącami działek NFT.
Wydajność bazy danych: zjawisko Cartesian Explosion przy pobieraniu relacji jeden-do-wielu przeciążało pamięć i CPU serwera. Rozwiązanie: dzielenie zapytań (.AsSplitQuery()) i wyłączenie śledzenia zmian na odczytach (.AsNoTracking()) → skrócony czas odpowiedzi API na operacjach odczytu.
Dane w czasie rzeczywistym: SignalR (WebSockets) do natychmiastowej aktualizacji sald, kursów aktywów i statusów transakcji blockchain w interfejsie użytkownika.
Optymalizacja mapy Metaverse: przy podejściu „pobierz cały widoczny obszar za każdym razem” pierwsze ładowanie interaktywnej mapy trwało rzędu kilku sekund. Wspólnie z frontendem ograniczyłem zakres przesyłanych danych i zmieniłem strategię pobierania (pełny obszar raz, później tylko nowe fragmenty) → zauważalnie szybsze pierwsze ładowanie i płynniejsze przesuwanie się po mapie.
Rola lidera: koordynacja 5-osobowego zespołu backendu, code review, mentoring, standardy kodowania, ścisła współpraca z PM, zespołem smart contractów, frontendem i DevOps (CI/CD, Docker), Agile w Azure DevOps.
Web3 / Blockchain
Platforma Web3 do tworzenia i zarządzania tokenami użytkowymi
.NETNext.jsRust
Autorski projekt Web3 typu „token launcher” na Solanie — od koncepcji, przez backend w .NET i smart contract w Rust, po frontend w Next.js. Działał produkcyjnie z ok. 6 000 realnymi użytkownikami, w tym 800 w ciągu 3 dni podczas skoku wzrostu.
↳ ~6 000 realnych użytkowników produkcyjnych (800 w 3 dni), solo od koncepcji po wdrożenie
Kontekst: własny projekt, realizowany end-to-end jako jedyny programista — backend .NET 8 w Clean Architecture, smart contract w Rust/Anchor, frontend Next.js/React z integracją portfeli Solana.
Ekonomika on-chain/off-chain: pełne liczenie alokacji tokenów on-chain byłoby kosztowne i mało elastyczne. Rozwiązanie: backend wylicza i podpisuje alokację kluczem Ed25519, kontrakt tylko weryfikuje podpis przed wypłatą → niższe koszty transakcyjne bez utraty elastyczności reguł biznesowych.
„Earn-to-promote”: zaprojektowany i przetestowany mechanizm nagród w tokenie platformy za zweryfikowane zadania promocyjne w social mediach, chroniony reCAPTCHA v3 przed farmowaniem.
Kontrolowana sprzedaż tokena: kontrakt z jawnym stanem rund sprzedaży (rosnąca cena), twardymi limitami sprzedaży (per transakcję, rundę i globalnie) oraz mechanizmem awaryjnej pauzy z godzinnym cooldownem → przewidywalna dystrybucja tokena bez ryzyka nadsprzedaży ani nadużycia mechanizmu pauzy.
Skala: ok. 6 000 realnych użytkowników produkcyjnych, w tym 800 w ciągu 3 dni podczas kampanii promocyjnej, kilkadziesiąt utworzonych tokenów.
Web3 / Blockchain
Team Leader
Platforma konkursowa i multimedialna oparta na blockchainie
.NET
System klasy enterprise do udostępniania multimediów oraz przeprowadzania konkursów z bezpiecznym transferem nagród w kryptowalutach, oparty o publiczny i prywatny blockchain, z zakupem głosów zintegrowanym ze Stripe.
Synchronizacja głosów: wsadowy mechanizm zapisu (batch vote) i dedykowany scheduler z automatycznym ponawianiem nieudanych transferów krypto po błędach on-chain → odporne na chwilowe błędy sieci blockchain zakończenie konkursu i dystrybucja nagród bez ręcznej interwencji.
Kontrola treści od użytkowników: tylko zweryfikowani tożsamościowo (KYC) użytkownicy mogli tworzyć własne konkursy społecznościowe, dodatkowo zatwierdzane przez administratora przed uruchomieniem → kontrolowany mechanizm treści generowanych przez użytkowników przy zachowaniu zgodności i bezpieczeństwa platformy.
Rola lidera: koordynacja zespołu backendu, code review, mentoring, standardy kodowania, Agile w Azure DevOps.
AI / Automatyzacja
Finanse
System automatyzacji transakcji i monitoringu giełdowego
.NET
Autorski bot tradingowy uruchomiony na własnym kapitale, działający produkcyjnie 24/7 na VPS — oceniony jako zyskowny/obiecujący na realnym kapitale.
Detekcja anomalii rynkowych: algorytm wykrywający istotne duże zlecenia w orderbooku — próg statystyczny (odchylenie standardowe), próg płynności w USD, próg wolumenowy i wymóg okrągłej ceny — jako sygnał wejścia w pozycję.
Zarządzanie ryzykiem: wczesna inwalidacja sygnału przy skurczeniu zlecenia poniżej 30% oraz filtr korelacji Pearsona z BTC (powyżej ustalonego progu → anulowanie zlecenia), niezależnie od klasycznego stop lossa.
Zarządzanie pozycją: do trzech progresywnych poziomów take profit, dwupoziomowy stop loss (podstawowy + awaryjny) oraz przesuwany próg podnoszenia stop lossa wraz z ruchem ceny — pełna automatyzacja zarządzania otwartą pozycją bez ręcznej interwencji.
Ochrona przed duplikacją transakcji: nieuporządkowane nadejście zdarzeń (out-of-order events) z WebSocketu i możliwe duplikacje mogły prowadzić do podwójnej realizacji transakcji. Rozwiązanie: maszyna przejść stanów + semafory asynchroniczne (SemaphoreSlim) → stabilne przetwarzanie bez ryzyka double-spendingu.
Produkcja / infrastruktura
System PPM do monitorowania wydajności produkcji
.NETReact
System monitorujący wydajność linii produkcyjnych, wdrażany u kilku klientów z sektora produkcyjnego, wyliczający wskaźnik OEE (Overall Equipment Effectiveness) na podstawie danych z maszyn.
Silnik strat OEE (Loss Analyzer): automatyczne wyliczanie i kategoryzacja przyczyn strat wydajności na liniach produkcyjnych wg konfigurowalnych warunków → zastąpienie ręcznej analizy zautomatyzowanym wyliczeniem.
Jakość danych wejściowych: przy utracie połączenia OPC z maszyną system mógł błędnie traktować ją jako pracującą. Rozwiązanie: automatyczne przełączenie statusu maszyny na „Off” po utracie łączności → ochrona wyliczeń OEE przed błędnymi danymi.
Produkcja / infrastruktura
System CMMS do zarządzania utrzymaniem ruchu
.NETReact
Aplikacja wspierająca nadzór nad maszynami u kilku klientów z sektora produkcyjnego — harmonogramowanie przeglądów i rozliczanie kosztów napraw.
Cyfrowe checklisty przeglądowe: konfigurowalne pytania i odpowiedzi z załącznikami zdjęciowymi, powiązane z konkretnym zadaniem i maszyną → ustrukturyzowany, cyfrowy zamiennik papierowego protokołu przeglądu.
Edytor mapy hali (Hall/Map): wizualne rozmieszczenie maszyn na planie hali zamiast listy tekstowej → szybsza lokalizacja maszyny wymagającej przeglądu lub naprawy.
Finanse
HR
Produkcja / infrastruktura
System ERP do zarządzania procesami biznesowymi
PHP
Rozbudowany, dojrzały system ERP integrujący finanse, HR i produkcję, zapewniający centralizację danych i automatyzację kluczowych przepływów.
Obieg dokumentów finansowo-kadrowych: rejestracja kontrahentów, walidacja numeru rachunku bankowego wg standardu IBAN, generowanie i edycja faktur.
Planowanie produkcji: przydzielanie zadań pracownikom, raporty podsumowujące pracę nad zleceniami produkcyjnymi, mechanizm wyliczający wypracowaną normę oraz edycja wykresu Gantta.
Produkcja / infrastruktura
System WMS do zarządzania operacjami magazynowymi
PHP
System wspierający przyjęcia, składowanie, kompletację i wysyłkę towarów w zakładzie produkcyjnym, z dużą liczbą powiązanych tabel i istniejącej logiki magazynowo-produkcyjnej do rozeznania przed rozpoczęciem pracy.
Usprawnienia magazynowo-produkcyjne: mechanizm autouzupełniania formularza po zeskanowaniu kodu kreskowego produktu oraz automatyczna rezerwacja surowców i produktów przeznaczonych na produkcję dla konkretnego zlecenia.
Dokumentacja magazynowa: system wydawania i zarządzania dokumentami magazynowymi wraz ze zmianami w generowaniu ich wydruków, przypisywanie magazynu do zamówienia oraz wyświetlanie ilości wyprodukowanych produktów.
AI / Automatyzacja
Lead Developer
Platforma AI do generowania piosenek i treści muzycznych
.NET
Komercyjna platforma wykorzystująca AI do generowania tekstów, głosów syntetycznych i utworów muzycznych. Jako główny backend developer modułu dowiozłem produkt do stanu ukończonego i przetestowanego, gotowego do wdrożenia produkcyjnego.
Kontekst: backend odpowiedzialny za orkiestrację generowania treści przez modele AI (OpenAI GPT, ElevenLabs, MusicGPT) — tekst, głos, muzyka, grafika — w ramach komercyjnego zlecenia dla klienta.
Długotrwałe zadania: generowanie trwało od kilkunastu sekund do kilku minut, co w standardowym zapytaniu HTTP powodowało timeouty. Rozwiązanie: architektura background workers — API tylko rejestrowało zlecenie w kolejce, dedykowane serwisy w tle śledziły postęp i informowały o zakończeniu → stabilne, w pełni asynchroniczne przetwarzanie przy dużym obciążeniu.
Limity dostępu (STokens): płatne akcje AI musiały być ograniczone do aktywnej rocznej subskrypcji z osobnym, cyklicznie odnawianym budżetem punktowym. Rozwiązanie: serwis walidujący subskrypcję i balans STokens, z pełną historią transakcji i zwrotem tokenów przy błędzie generacji → spójny, audytowalny system rozliczania kosztownych akcji AI.
Migracja dostawcy AI: przejście na innego dostawcę generowania muzyki dzięki wspólnej abstrakcji integracji wymagało w pierwszym kroku wyłącznie zmiany konfiguracji, bez przepisywania kodu → dobrze zaprojektowana integracja z wymiennym dostawcą zewnętrznym.
Portale i integracje
Lead Developer
Wielojęzyczny system CMS do zarządzania treściami
.NETReactNext.js
Rozbudowany CMS (portal publiczny, panel administracyjny, intranet, moduł egzaminów zawodowych) dla ogólnopolskiej organizacji branżowej z ok. 50 oddziałami regionalnymi. Jako główny backend developer odpowiadałem za architekturę, projektowanie bazy danych i API, integracje z systemami klienta, bezpieczeństwo i uprawnienia oraz część prac frontendowych (Next.js/React).
Kontekst: rola głównego backend developera (Lead Developer) — wielojęzyczność treści na poziomie bazy danych, dynamiczne uprawnienia, moduł egzaminów zawodowych i certyfikacji, integracja płatności Przelewy24. Architektura oparta o DDD i Clean Architecture.
Algorytm doboru komisji egzaminacyjnej: zachłanny algorytm przydziału członków komisji wg deficytowości wymaganych kwalifikacji i obciążenia z ostatnich 365 dni → automatyczna, zbilansowana propozycja składu w miejsce ręcznego doboru, z wbudowaną walidacją wykonalności.
Współbieżność i limity miejsc: ryzyko przekroczenia puli miejsc (overbooking) przy jednoczesnych zapisach. Rozwiązanie: blokowanie pesymistyczne (UPDLOCK, HOLDLOCK) na poziomie transakcji + blokowanie optymistyczne (RowVersion) na encjach edytowalnych → całkowite wyeliminowanie błędów biznesowych, 100% spójności danych transakcyjnych.
System subdomen oddziałowych: ok. 50 oddziałów regionalnych na jednej wspólnej bazie i rdzeniu systemu, każdy z własną subdomeną, treścią i lokalną administracją — macierz dostępu kontrolująca widoczność wg zakresu (globalny/oddziałowy) i pochodzenia requestu.
Zarządzanie majątkiem
Lead Developer
System do automatyzacji procesów inwentaryzacyjnych
.NET
System webowy wspierający pełnoskalową inwentaryzację (spis z natury) środków trwałych dużej organizacji z sektora energetycznego/przemysłowego, zintegrowany z modułem środków trwałych SAP. Obsługuje pracę wielu komisji i zespołów spisowych działających równolegle w terenie, częściowo offline, z poziomu aplikacji mobilnej.
↳ Model domenowy zbudowany praktycznie od podstaw
Kontekst: system dla dużego podmiotu z sektora energetycznego/przemysłowego, integrujący dane majątkowe z trzech źródeł (SAP FIAA, ZMW, ŚOI); model domenowy (komisje, zespoły spisowe, arkusze spisowe) zbudowany praktycznie od podstaw.
Praca w terenie bez łączności: komisje skanowały majątek w halach i na placach o niestabilnym internecie. Rozwiązanie: dedykowany endpoint do zbiorczego zapisu wielu skanów naraz (CreateScans) → dane zebrane offline synchronizowane jednym zapytaniem po przywróceniu połączenia.
Podział pracy na dużą skalę: automatyczne generowanie arkuszy spisowych z grupowaniem wg użytkownika głównego, działu gospodarczego lub MPK → praca ok. 140 zespołów spisowych zorganizowana wg struktury organizacyjnej klienta zamiast ręcznego przydziału tysięcy pozycji.
Integracja z SAP: dane majątkowe importowane z modułu SAP FIAA (Fixed Assets) i mapowane na model domenowy systemu, wraz z raportem zwrotnym aktualizującym w SAP datę ostatniej inwentaryzacji i numer arkusza spisowego → pełny cykl danych zamknięty automatycznie, bez ręcznego przepisywania.
HR
Finanse
System do zarządzania czasem pracy i projektami
.NETAngular
Moduł czasu pracy i planowania zasobów w większym, wieloautorskim produkcie Blunovation, powiązany z budżetami projektów — dwuetapowa akceptacja urlopów, panel dostępności zespołu, wsparcie 5 języków.
Kontekst: praca nad samodzielnymi obszarami (przede wszystkim moduł urlopów i rozliczania czasu pracy) w większym, wieloautorskim produkcie sprzedawanym klientom zewnętrznym oraz wykorzystywanym wewnętrznie w firmie — backend i frontend (Angular), architektura Clean Architecture.
Elastyczność urlopowa: pracownik potrzebujący załatwić sprawę w części dnia musiał formalnie brać cały dzień urlopu. Rozwiązanie: rozszerzenie logiki urlopowej o opcję urlopu na pół dnia.
Proces akceptacji urlopów: dwuetapowy przepływ (przełożony → HR) z automatycznymi e-mailami na każdym etapie (złożenie, akceptacja, odrzucenie, powrót po urlopie) oraz panel „dzisiejsza dostępność” pokazujący, którzy pracownicy są danego dnia dostępni, a którzy na urlopie.
Wydajność list projektów: widoki list projektów, zadań i urlopów ładowały od razu wszystkie powiązane karty czasu pracy, co spowalniało wczytywanie. Rozwiązanie: zamiana eager-loadingu na leniwe ładowanie na żądanie, z nowym dedykowanym endpointem zwracającym dane pojedynczego zadania → szybsze wczytywanie widoków list.
AI / Automatyzacja
Finanse
System do automatycznego przetwarzania faktur zakupowych
.NETReact
Aplikacja automatyzująca odczyt danych z faktur zakupowych (NIP, kwoty, waluta, daty, pozycje produktowe) silnikiem OCR (Azure Form Recognizer) i ich import do bazy.
Walidacja semantyczna wyniku OCR: surowy odczyt nie gwarantuje poprawności — dedykowana warstwa nad wynikiem OCR (weryfikacja NIP sumą kontrolną, rozpoznawanie kodów walut w tekście), pokryta testami jednostkowymi → błędnie odczytane dane wykrywane przed dalszym przetwarzaniem.
Weryfikacja człowiek-w-pętli: backend zwraca bounding boxy rozpoznanych pól, frontend podświetla je na skanie faktury i pozwala na ręczną korektę przed zapisem → użytkownik weryfikuje i poprawia dane zamiast ślepo ufać automatycznemu odczytowi.
Dostępność / edukacja
Aplikacja do tworzenia prezentacji dla osób niewidomych i słabowidzących
.NETJS
Dostępność zamiast WYSIWYG: popularne narzędzia do tworzenia prezentacji (PowerPoint, Impress) są mało dostępne dla osób niewidomych, bo opierają się na bezpośredniej manipulacji graficznej. Rozwiązanie: interfejs oparty wyłącznie na ustrukturyzowanych formularzach, z pełną obsługą ARIA i nawigacji klawiaturą → zgodność z WCAG 2.0 potwierdzona automatycznym walidatorem kodu HTML.
Generowanie plików: odczyt danych prezentacji ze slajdami i elementami z relacyjnej bazy i programowe odtworzenie ich w obiekcie aplikacji PowerPoint → eksport do PPTX/PDF/PNG w czasie ok. 1,5 s, w granicach założonych wymagań wydajnościowych (poniżej 5 s).
Aplikacja przetestowana manualnie z realnym użytkownikiem niewidomym i jednym słabowidzącym (samodzielne tworzenie prezentacji), bez zgłoszonych problemów z dostępnością czy funkcjonalnością.
AI / Automatyzacja
Produkcja / infrastruktura
System detekcji i zliczania obiektów w procesie produkcyjnym
PythonReact
Wejście w projekt wymagało samodzielnego przyswojenia nowej dziedziny (modele computer vision, Intel OpenVINO) — wcześniej miałem kontakt tylko z pokrewnym, ale odrębnym obszarem OCR.
Funkcje demo: zliczanie obiektów przekraczających wyznaczoną linię, liczenie butelek w oknie czasowym i wyliczanie liczby obrotów na minutę, wykrywanie warunków związanych z filmem wodnym na produkcie, alarmowanie przy wejściu pracownika w wyznaczoną strefę zagrożenia.
Gotowe, technicznie zaawansowane wersje funkcji demo wykorzystywane do prezentacji dla potencjalnych klientów z branży produkcyjnej.
Produkcja / infrastruktura
Lead Developer
Aplikacja mobilna do zarządzania systemami alarmowymi
QT
Samodzielna migracja aplikacji mobilnej (Android/iOS) z Xamarin do Qt/QML + C++, bez wcześniejszego doświadczenia z żadną z tych technologii — komunikacja z centralami przez MQTT (broker Mosquitto), natywne rozszerzenia iOS (Touch ID, powiadomienia push), publikacja w App Store.
Zarządzanie dostępem: skrypty generujące i aktualizujące pliki ACL brokera MQTT (osobny plik per użytkownik) wraz z automatycznym przeładowaniem konfiguracji po zmianie uprawnień.
Stabilność komunikacji z centralą: centrala alarmowa potrafiła się zresetować po odebraniu kilku komunikatów MQTT naraz, a stan partycji bywał niespójny między centralą a aplikacją. Rozwiązanie: poprawa logiki obsługi komunikatów i synchronizacji stanu wraz z blokowaniem w interfejsie akcji niedostępnych w danym stanie → stabilniejsza komunikacja i eliminacja błędnych akcji użytkownika.
Dostępność / edukacja
System wspierający organizację procesów akademickich
.NET
System kursowy (LMS) dla Instytutu Informatyki UPH — zaprojektowany i zbudowany od podstaw moduł zadań laboratoryjnych, w ramach którego prowadzący publikuje zadania z maksymalną liczbą punktów, a studenci przesyłają rozwiązania i projekty do oceny.
Historia zmian ocen: zmiany punktacji przypisywanej studentom nie miały żadnej historii. Rozwiązanie: dedykowany model zapisujący każdą zmianę punktów z datą i powiązaniem do konkretnego uczestnika i zajęć → możliwość prześledzenia historii oceniania.
Automatyzacja list obecności: zamiast budowy własnej integracji z Google Meet, import listy obecności bezpośrednio z eksportu gotowego, popularnego rozszerzenia przeglądarki do tego celu → szybkie, pragmatyczne rozwiązanie zamiast kosztownej integracji API.
Zarządzanie majątkiem
System ewidencji majątku i inwentaryzacji
.NET
Rozbudowany system ewidencji majątku, wdrożony u kilku odbiorców — m.in. podmiotu administracji publicznej oraz lidera sektora medycznego. Pełny cykl życia składnika majątku (przyjęcie, przekazanie, likwidacja, doposażenie) z konfigurowalnym, wieloetapowym procesem akceptacji dokumentów.
Rozliczalność przy rotacji pracowników: przy odejściu pracownika (automatyczne usunięcie z Active Directory) przypisany mu majątek mógł zostać „osierocony”. Rozwiązanie: rozszerzenie synchronizacji z AD o sprawdzenie przypisanego majątku i automatyczne powiadomienie e-mail do przełożonego.
Integracja z ServiceNow od zera: zbudowana od podstaw integracja z API ServiceNow (parsowanie XML, mapowanie na model domenowy) → nowe źródło danych majątku zintegrowane automatycznie, bez ręcznego przepisywania danych klienta.
Portale i integracje
Systemy raportowe i cyberbezpieczeństwa dla globalnego operatora terminali kontenerowych
.NETAngular
Punktowe wsparcie techniczne przy dwóch wewnętrznych systemach globalnego operatora terminali kontenerowych: narzędziu do raportowania i benchmarkingu KPI obejmującym kilkanaście terminali w kilku regionach oraz portalu do oceny cyberbezpieczeństwa terminali.
Rozróżnienie danych rocznych: dane wejściowe KPI wprowadzane przez terminale nie rozróżniały grup danych właściwych wyłącznie dla raportu rocznego od danych raportowanych co miesiąc. Rozwiązanie: dodanie flagi rozróżniającej dane roczne w szablonach danych wejściowych i uwzględnienie jej w generowaniu raportu Excel.
Stabilność importu danych: import danych z Excela kończył się błędem w środowisku produkcyjnym, blokując terminalom przesyłanie danych raportowych. Rozwiązanie: analiza i poprawa logiki walidacji danych wejściowych → ustabilizowany mechanizm importu używany przez administratorów terminali.
Modernizacja stacku: samodzielnie zrealizowana aktualizacja backendu (.NET 8→10 LTS, C# 14, EF Core 8→10, Microsoft Graph SDK 5.x→6.x) oraz dostosowanie frontendu do Angular 21 (migracja buildu na esbuild, konwersja komponentów na standalone, wdrożenie Vitest i ESLint, MSAL v4→v5) → aktualny, spójny stack technologiczny na obu warstwach.
Finanse
Portale i integracje
Integracja systemu analitycznego z SAP FC
.NETAngular
System uzgadniania (reconciliation) danych księgowych między bazą COGNOS a modułem SAP FC dla działu finansów/kontrolingu klienta — automatyczne mapowanie kont i firm, reguły uzgadniania, obsługa kursów walut, cykliczne eksporty i powiadomienia mailowe.
Modernizacja legacy stacku: samodzielnie zrealizowana kompleksowa aktualizacja przestarzałego stacku (.NET 6→10 LTS, C# 10→14, EF Core 6→10, Angular 14→21) na produkcyjnym systemie integrującym dane finansowe → aktualny, długoterminowo wspierany (LTS) stack.
Integralność danych mapujących: ryzyko powstania duplikatów kont i firm Cognos/SAP przy tworzeniu lub aktualizacji danych mapujących. Rozwiązanie: walidacja unikalności przy operacjach tworzenia/aktualizacji → zachowana spójność danych uzgadnianych między systemami.
Portale i integracje
Współdzielony serwis tożsamości i uprawnień
.NET
Wewnętrzny serwis uwierzytelniania, zarządzania użytkownikami, rolami i uprawnieniami, współdzielony przez kilka niezależnych, wewnętrznych systemów jednocześnie (m.in. system CMS, CMMS, system inwentaryzacji).
Zgodność z RODO: zaprojektowany i zaimplementowany kompletny mechanizm samoobsługowego i administracyjnego usuwania/anonimizacji konta, uwzględniający aktywność użytkownika w powiązanym systemie przed usunięciem → bezpieczne usuwanie kont bez utraty danych wciąż potrzebnych po drugiej stronie integracji.
Bezpieczeństwo z własnej inicjatywy: podczas własnego przeglądu kodu (bez zewnętrznego audytu) wykryłem i naprawiłem trzy niezależne podatności — wyciek haseł do logów, log injection oraz email enumeration przy resecie hasła.
Doświadczenie
07/2025 — obecnie
Programista / Analityk
Blunovation Sp. z o.o. · Umowa B2B
02/2021 — 07/2024
Programista / Analityk
Blunovation Sp. z o.o.
Pokaż wcześniejsze staże i praktyki (2014–2020)
07/2020 — 09/2020
Stażysta
Blunovation Sp. z o.o.
06/2020 — 08/2020
Praktykant
Instytut Informatyki UPH w Siedlcach
01/2016 — 02/2016
Praktykant
Urząd Gminy Łomazy
07/2014 — 08/2014
Stażysta
RAM-SERWIS Sp. z o.o.
Certyfikaty
Pokaż pozostałe kursy i certyfikaty (11)
11/2020 – 12/2020
Kurs programowania w React oraz AngularJS
11/2020
Kurs „Efektywne budowanie zespołów” — komunikacja i rozwiązywanie konfliktów w zespole
11/2020
Kurs „Komunikacja, autoprezentacja, asertywność”
05/2020
Certyfikat „Analiza techniczna w zarządzaniu ryzykiem”
05/2020
Certyfikat „Systemy Zarządzania Jakością”
02/2020
Certyfikat „Audytor wiodący Systemu Zarządzania Bezpieczeństwem Informacji”
11/2019
Certyfikat „GIT – System Kontroli Wersji”
03/2017
Kwalifikacja zawodowa „E.14. Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami”
08/2016
Kwalifikacja zawodowa „E.13. Projektowanie lokalnych sieci komputerowych i administrowanie sieciami”
08/2015
Kwalifikacja zawodowa „E.12. Montaż i eksploatacja komputerów osobistych oraz urządzeń peryferyjnych”
08/2014
Certyfikat uczestnictwa w stażu krajowym „Zdobądź doświadczenie zawodowe”
Referencje
PG
Piotr Gryczka
Fullstack Developer (.NET/PHP/Java) · ten sam zespół
Miałem okazję współpracować z Przemkiem przy projektach w .NET i zdecydowanie jest to developer godny polecenia. Dowozi zadania, pracuje w sposób uporządkowany i dobrze rozumie, co robi – nie działa schematycznie, tylko faktycznie analizuje problemy. Jest konkretny w komunikacji i dobrze odnajduje się w pracy zespołowej.
JS
Jarosław Sopiński
Fullstack Developer (React, Next.js, .NET) · ten sam zespół
Na podstawie kilku lat współpracy z Przemkiem przy różnych projektach, mogę potwierdzić, że jest on świetnym fachowcem, zawsze dowozi tematy na wysokim poziomie, wykazuje się bardzo dużą wiedzą, kompetencją i doświadczeniem i znakomicie współpracuje w zespole.
AS
Adrian Sztandera
Fullstack Developer · .NET Backend / React · ten sam zespół
Miałem okazję pracować z Przemkiem przy backendzie i bardzo dobrze wspominam tę współpracę. Ogarnia tematy, podchodzi konkretnie do zadań i można na nim polegać. Bez zbędnego komplikowania, robi robotę tak jak trzeba. Chętnie jeszcze kiedyś popracuję razem.
RD
Rafał Drzał
PHP Developer & Code Exorcist · przełożony (niebezpośredni)
Z przyjemnością polecam współpracę z tym specjalistą. Miałem okazję zlecać mu zadania w wielu wspólnych projektach i zawsze byłem pod wrażeniem jego podejścia. To programista, który nie tylko świetnie koduje, ale przede wszystkim myśli analitycznie i rozumie biznesowy cel tego, co tworzy.

Merytorycznie to bardzo mocna postać – swobodnie porusza się w ekosystemie .NET, C# i ASP.NET, a jego wiedza o relacyjnych bazach danych i SQL (szczególnie MS SQL Server) nieraz ratowała projekt. To, co go wyróżnia, to otwartość na nowe technologie, takie jak Sztuczna Inteligencja czy Blockchain, które potrafi sprawnie wdrażać w aplikacjach internetowych.

Oprócz świetnego warsztatu technicznego posiada rzadką wśród programistów umiejętność zarządzania zespołem i projektem. Potrafi spojrzeć na system całościowo, zaplanować prace i dowieźć oprogramowanie wysokiej jakości.
Wszystkie rekomendacje pochodzą z realnych opinii współpracowników — zobacz oryginały na LinkedIn
Kontakt
Strefa czasowa: CET/CEST. Odpowiadam zwykle w ciągu 24h. Otwarty na współpracę B2B, stałe zlecenia i pojedyncze projekty.