Przejdź do treści

Software Developer / Full-Stack / SQL / ERP / React

Buduję systemy, które łączą dane, logikę biznesową i nowoczesny interfejs.

Doświadczony programista specjalizujący się w systemach ERP, SQL Server, automatyzacji procesów biznesowych oraz aplikacjach webowych.

pipeline
  1. DATABASE
  2. BUSINESS LOGIC
  3. API
  4. REACT
  5. USER
Otwarty na ciekawe projekty
#about

About

Obszary, w których pracuję — z wyraźnym podziałem na specjalizację i technologie uzupełniające.

specjalizacja

  • Oprogramowanie biznesowe

    Pracuję z systemami, w których błąd nie jest brzydkim ekranem, tylko złym zamówieniem i przestojem na produkcji. Zaczynam od reguły biznesowej, nie od komponentu.

  • ERP

    Produkcja, magazyn, rozliczenia — obszary, które muszą się zgadzać ze sobą, a nie tylko każdy z osobna.

  • SQL Server i T-SQL

    Procedury, funkcje tablicowe, widoki, indeksy i plany wykonania. Zanim przepiszę zapytanie, patrzę, co robi optymalizator.

  • Dane i algorytmy

    MRP, netowanie, eksplozja struktury BOM, planowanie produkcji. Algorytm trzymam poza interfejsem, żeby dało się go przetestować w oderwaniu od ekranu.

technologie uzupełniające

  • React i JavaScript

    Interfejsy gęste w dane: tabele, drzewa, formularze. Stan tak wysoko, jak trzeba, i tak nisko, jak można.

  • Automatyzacja i testowanie

    Zadania cykliczne, integracje między systemami i testy E2E przechodzące pełną ścieżkę biznesową.

  • Linux

    Środowisko uruchomieniowe i narzędzia, z których korzystam na co dzień.

  • AI i LLM

    Modele językowe i agenci jako narzędzie nad istniejącym systemem biznesowym. Eksploruję i testuję — nie sprzedaję tego jako wdrożeń.

#system

Jak myślę o systemach

Sześć warstw, przez które przechodzi każda funkcja biznesowa. Wybierz warstwę, żeby zobaczyć, za co odpowiada, jaki problem na niej powstaje i jak do niego podchodzę.

za co odpowiada
Trwałość i spójność danych: schemat, klucze, indeksy, transakcje, plany wykonania.
problem, który tu powstaje
Zapytanie raportowe zwalnia z miesiąca na miesiąc, bo predykat opakowany funkcją nie może skorzystać z indeksu.
jak do niego podchodzę
Zaczynam od planu wykonania, nie od przepisywania kodu. Predykat przepisuję tak, żeby był SARGable, a indeks dobieram do rzeczywistego zestawu kolumn w WHERE, JOIN i SELECT — nie do jednego zapytania w oderwaniu od reszty.

#projects

Projects

Działające demonstracje na fikcyjnych danych: algorytm MRP na drzewie BOM oraz tabela danych sterowana po stronie serwera.

demonstracja MRP — wczytywanie
tabela danych — wczytywanie
erp-sql

ERP i SQL Server

Logika biznesowa mieszka blisko danych, a aplikacja ją pokazuje — nie definiuje.

  1. ERP
  2. SQL Server
  3. Procedury · funkcje · widoki
  4. Logika biznesowa
  5. Aplikacja
  • Optymalizacja zapytań i analiza planów wykonania
  • Dobór indeksów pod rzeczywiste predykaty, nie pod pojedyncze zapytanie
  • Funkcje tablicowe i procedury składowane jako jedno źródło reguły
  • Przetwarzanie dużych zbiorów danych
  • Automatyzacja zadań w SQL Server Agent
Zobacz SQL Lab
ai-agenteksploracja

AI i LLM

Agent, który korzysta z narzędzi: pyta bazę, woła API, czyta pliki — i dopiero wtedy odpowiada.

  1. User
  2. React
  3. AI Agent
  4. Tools
  5. SQL · API · pliki · web
  6. Result
  • Tool calling: model decyduje, po które narzędzie sięgnąć
  • Osadzanie i wyszukiwanie wektorowe nad dokumentacją systemu
  • MCP jako wspólny protokół dostępu do narzędzi
  • Granica zaufania: co agentowi wolno zrobić w systemie produkcyjnym
automation-testing

Automatyzacja i testowanie

Scenariusz przechodzi przez aplikację tak, jak zrobiłby to człowiek, i sprawdza wynik.

  1. Browser
  2. Playwright
  3. Logowanie
  4. Operacja w ERP
  5. Walidacja
  6. Raport
  • Testy E2E przechodzące pełną ścieżkę biznesową
  • Asercje na danych, nie na wyglądzie
  • Emulacja telefonu i desktopu w jednym przebiegu
  • Raport z przebiegu jako wynik, nie jako log do czytania
tests/e2e/mrp.spec.ts — prawdziwy test z tego repozytorium
test("changing demand recalculates the whole tree", async ({ page }) => {
  await openDemo(page);

  const product = rowFor(page, "ZP-100");
  await expect(product).toContainText("8");

  await page.locator('input[type="range"]').fill("20");

  // 20 + 4 in horizon, 2 on hand -> 22.
  await expect(product).toContainText("22");
  // A previously covered index goes into shortage once demand grows.
  await expect(rowFor(page, "LOZ-6202")).not.toContainText("—");
});
#sql-lab

SQL Lab

Kuratorowany zestaw zapytań T-SQL — każde z przykładowym wynikiem i objaśnieniem, co konkretnie rozwiązuje.

SQL Lab — wczytywanie
#technologies

Technologies

Technologie z kontekstem zastosowania — bez poziomów i procentów.

Frontend
  • ReactInterfejsy aplikacji webowych, komponenty, formularze, tabele danych i komunikacja z API#projects
  • JavaScriptLogika aplikacji webowych, obsługa DOM, asynchroniczność, API przeglądarki i integracja danych
  • TypeScriptTypowanie kodu frontendowego i budowanie bardziej przewidywalnych interfejsów oraz modeli danych
  • HTMLStruktura aplikacji webowych, formularze, elementy semantyczne i natywne możliwości przeglądarki
  • CSSBudowanie układów, stylowanie interfejsów, responsywność i dostosowanie wyglądu aplikacji
  • Tailwind CSSSzybkie budowanie interfejsów React z wykorzystaniem utility classes i spójnego systemu stylów
Backend i dane
  • SQL ServerspecjalizacjaBazy systemów ERP: procedury, funkcje, indeksy, optymalizacja zapytań i plany wykonania#sql-lab
  • T-SQLspecjalizacjaLogika biznesowa systemów ERP, procedury składowane, przetwarzanie danych i algorytmy MRP#sql-lab
  • JSONWymiana danych między aplikacją frontendową, backendem i bazą danych oraz reprezentacja struktur złożonych
  • RESTProjektowanie i wykorzystanie API do komunikacji aplikacji webowych z backendem
  • PHPBackend aplikacji webowych, obsługa API, przetwarzanie danych i integracja z bazami danych
Desktop i legacy
  • VBAAutomatyzacja procesów, przetwarzanie danych i rozwój istniejących narzędzi biznesowych
  • Microsoft AccessAplikacje bazodanowe, formularze, raporty i narzędzia wspierające procesy biznesowe
Narzędzia
  • GitKontrola wersji, praca z gałęziami, merge, repozytoriami i wieloma zdalnymi źródłami kodu
  • LinuxŚrodowisko pracy programistycznej, terminal, skrypty, narzędzia developerskie i automatyzacja
  • PlaywrightTesty E2E aplikacji webowych i automatyzacja scenariuszy użytkownika#projects
  • npmZarządzanie zależnościami JavaScript, uruchamianie skryptów i organizacja projektów frontendowych
  • GitHub / hosting GitRepozytoria kodu, współpraca, wersjonowanie i praca zdalna z wykorzystaniem Git
AI
  • LLMEksploruję i testuję modele językowe oraz ich zastosowanie w programowaniu i pracy z wiedzą#ai
  • Agenci AIEksploruję i testuję agentów zdolnych do wykonywania wieloetapowych zadań z wykorzystaniem narzędzi#ai
  • EmbeddingiEksploruję i testuję reprezentację tekstu i danych w postaci wektorów
  • Wyszukiwanie wektoroweEksploruję i testuję wyszukiwanie informacji na podstawie podobieństwa semantycznego
  • MCPEksploruję i testuję sposób udostępniania agentom AI narzędzi, danych i zewnętrznych usług
  • Programowanie wspierane AIEksploruję wykorzystanie AI do analizy kodu, tworzenia, refaktoryzacji i rozwijania aplikacji
#experience

Experience

Ścieżka od ERP i SQL Server, przez logikę biznesową i aplikacje webowe, do AI.

ścieżka
  1. ERP
  2. SQL Server
  3. Logika biznesowa
  4. Web
  5. React
  6. AI
  1. ERP

    Systemy, w których dane produkcyjne, magazynowe i księgowe muszą się zgadzać ze sobą każdego dnia.

  2. SQL Server

    Schemat, indeksy, plany wykonania i programowalność bazy jako miejsce, w którym decyduje się wydajność całego systemu.

  3. Logika biznesowa

    Reguły planowania i rozliczeń zapisane raz, w jednym miejscu, i policzalne bez uruchamiania interfejsu.

  4. Web

    Wyprowadzenie tych reguł do aplikacji webowej: kontrakt danych, obsługa błędów, stany pustego wyniku.

  5. React

    Interfejs gęsty w dane — tabele, drzewa, formularze — który ma być szybki i dostępny z klawiatury.

  6. AI

    Modele językowe i agenci jako kolejne narzędzie nad istniejącym systemem. Eksploruję i testuję.

#ai

Exploring the next generation of software

Praktyczne wykorzystanie modeli językowych i agentów w istniejących systemach biznesowych.

eksploracjaEksploruję i testuję — nie przedstawiam tego jako wdrożeń produkcyjnych.

  • LLM

    Modele językowe jako warstwa nad danymi, które i tak już są w systemie — nie jako zamiennik reguły biznesowej.

  • Agenci i tool calling

    Agent, który sam decyduje, po które narzędzie sięgnąć: zapytanie do bazy, wywołanie API, odczyt pliku.

  • MCP

    Wspólny protokół wystawiania narzędzi modelowi, zamiast integracji pisanej od zera pod każdy przypadek.

  • RAG i embeddingi

    Wyszukiwanie po znaczeniu w dokumentacji systemu i w opisach procesów, nie po dokładnym słowie.

  • Bazy wektorowe

    Przechowywanie i wyszukiwanie osadzeń obok danych, z których powstały.

  • Programowanie wspierane AI

    Narzędzia w codziennej pracy z kodem — z zachowaniem kontroli nad tym, co trafia do repozytorium.

Interesuje mnie jedno zastosowanie w szczególności: sięganie po dane, które w systemie ERP już są, bez pisania kolejnego raportu pod każde pytanie. Schemat agenta korzystającego z narzędzi pokazuję w sekcji Projects.

#contact

Contact

Napisz, jeśli masz projekt, w którym trzeba połączyć bazę danych, logikę biznesową i interfejs.

formularz — wczytywanie