Maciej Kwiatkowski - zdjęcie profilowe

Kontakt

Linki

Maciej Kwiatkowski

Programista PHP/FullStack

Od ponad 20 lat programuję w PHP (od wersji 4), JavaScript (+Vue), HTML, CSS, MySQL, MongoDB, Bash. W pracy często używam AI jako agenta kodowania (Anthropic Claude Code i inne). Świetnie czuję się w pracy z Git. Mam doświadczenie w pisaniu tzw. demonów, odpowiadających za wykonywanie zadań w tle. Używam Dockera jako środowiska deweloperskiego. Obecnie pracuję na systemie Linux (desktop i serwer) oraz MacOS.

Doświadczenie zawodowe

2025.07 - obecnie – Arrive / Flowbird Tech
Praca na stanowisku: Software Engineer
  1. KTL: Keep the lights on. Wraz z kilkuosobowym międzynarodowym zespołem podtrzymuję przy życiu platformę RingGo. Pracuję z wieloletnim kodem legacy.
  2. Naprawiam zgłoszone błędy, biorę udział w rozwijaniu nowych funkcjonalności, dzięki czemu użytkownicy mają lepsze doświadczenia z platformą obsługującą płatności za parkowanie w Wielkiej Brytanii.
  3. Pracuję w metodologii Scrum z dwutygodniowymi sprintami, praktykując zadaniową organizację pracy i kontrybuując do ciągłego dostarczania zmian do produktu.
  4. Z zaangażowaniem używam Claude Code i Copilot do pomocy w rozwiązywaniu problemów, diagnostyce, bug trackingu, jak i jako narzędzie pomocy w organizacji pracy. Codziennie poszerzam moje kompetencje w zakresie AI, zarówno poprzez samodzielną naukę, jak i udział w szkoleniach.
  5. Biorę aktywny udział w spotkaniach zespołu, dzielę się moimi odkryciami, osiągnięciami, co wzbogaca mój zespół w różnorodne doświadczenia.
  6. Uczęszczam na szkolenia w zakresie bezpieczeństwa i cyberbezpieczeństwa oraz podejmuję wideo-szkolenia z dziedzin innych niż programowanie (np. Dev Ops), co przekłada się na większą świadomość moich działań i większą paletę umiejętności.
2005 - 2025.04 – Unicorn Interactive
Obejmowałem stanowiska takie jak: Senior PHP Developer, Frontend Developer, Team Leader, System Administrator, Product Manager.
  1. Pracowałem przy przynajmniej 50 projektach o różnej skali, zarówno małych, jak i dużych, m.in. dla klientów takich jak koncern Stellantis (Fiat, Jeep, Alfa Romeo, Citroën, Peugeot, Opel, DS) oraz Yamaha Motor Poland, co pozwoliło mi zdobyć doświadczenie w pracy z wymagającym biznesem.
  2. Kierowałem zespołem programistów – organizowałem i nadzorowałem zadania, dobierałem odpowiednie technologie i narzędzia, dzięki czemu praca nad projektem przebiegała w sposób zorganizowany, a projekty były oparte na sprawdzonych, acz nowych technologiach.
  3. Pełniłem funkcję łącznika między zespołem technicznym a biznesem, dzięki czemu rozwinąłem swoje kompetencje miękkie, takie jak zrozumienie, cierpliwość i asertywność.
  4. Współpracowałem z firmami zewnętrznymi w zakresie integracji systemów. Ustalałem standardy komunikacji i protokoły wymiany danych, zapewniając inter-aplikacyjny przepływ danych.
  5. Wprowadzałem narzędzia do monitorowania poprawności działania aplikacji i serwisów, dzięki czemu problemy z działaniem były zauważane i usuwane szybko i elastycznie.
  6. Jednocześnie aktywnie programowałem – głównie w PHP, SQL, JavaScript (w tym Vue), Bash, nieco mniej w HTML, CSS – realizując zadania backendowe, frontendowe i automatyzujące.
  7. Tworzyłem demony PHP odpowiedzialne za asynchroniczne przetwarzanie danych, m.in. rozwiązanie odciążające PostgreSQL przez transkodowanie danych do MongoDB, co znacznie poprawiło wydajność aplikacji końcowych.
  8. Na zlecenie biznesu projektowałem i rozwijałem narzędzia do agregacji danych i raportowania, np. aplikację generującą raporty leadów (online oraz pliki XLSX z automatyczną wysyłką e-mailową), dostarczając dealerom i kierownictwu narzędzi niezbędnych do obsługi klientów oraz mierzenia efektywności kampanii reklamowych w internecie.
  9. Budowałem i wdrażałem środowiska Docker, zarówno dla zespołów deweloperskich, jak i dla publicznie dostępnych usług self-hosted (uruchomiłem m.in. wewnątrzfirmowe instancje aplikacji: YouTrack, GitLab i Sentry), co usprawniało współpracę w zespole oraz pomagało organizować i ujednolicić pracę programistów.
  10. Decydowałem o wprowadzeniu nowych technologii (Docker, MongoDB) czy frameworków (Slim Framework) do użycia w projektach, samemu aktywnie sprawdzając ich użyteczność, co przełożyło się na rozwój programistów z zespołu i stosowanie nowych rozwiązań w tworzonych aplikacjach.
  11. Wprowadzałem narzędzia do statycznej analizy kodu (PHPStan, Psalm, PHP Code Sniffer) i integrowałem je GitLab (CI/CD), co znacząco podniosło jakość kodu i bezpieczeństwo tworzonych aplikacji.
  12. Wykonywałem refaktoryzację kodu z użyciem Rectora – wzmacniałem typowanie, porządkowałem strukturę projektów i nadawałem im bardziej obiektowy charakter, co ułatwiało dalszy rozwój aplikacji.
  13. Administrowałem serwerami Linux (Gentoo/Arch/Debian), automatyzowałem zadania za pomocą Bash i systematycznie rozwijałem się w kierunku DevOps, maksymalizując niezależność zespołu od administratorów zewnętrznych.
  14. Agitowałem na rzecz minimalizacji długu technicznego, nierzadko realizowałem to zadanie, łącząc je z typowymi zadaniami programistycznymi, dzięki czemu aplikacje były dostępniejsze dla nowych programistów i łatwiejsze w utrzymaniu.
  15. Uczestniczyłem w procesach rekrutacyjnych firmy: projektowałem zadania do rozwiązania, rozmawiałem z kandydatami, wprowadzałem stażystów, czuwałem nad nowymi pracownikami, desygnując ich progresywnie do zadań, w efekcie czego aktualny zespół jest dobrze zgrany i o wysokich kompetencjach.
Dorywczo: 2017 - obecnie – HejHo! księgowe
Obejmuję na stanowiskach: konsultant IT, programista
  1. Zarządzam lokalną, firmową siecią komputerową (komputery Windows, drukarki, skanery, routery sieciowe), oprogramowaniem.
  2. Administruję serwerem pocztowym.
  3. Stworzyłem koncepcję i zrealizowałem wewnętrzny, webowy program do rejestracji czasu pracy oraz formularz dla nowych klientów.
  4. Maluję, wiercę, wieszam obrazy, skręcam meble, montuję oświetlenie... :)

Jednoosobowa działalność gospodarcza, aktualnie w zawieszeniu.

Osiągnięcia

Utrzymywałem bardzo wiekowy produkt legacy z licznymi zależnościami i niejasnościami. Dochodziłem przyczyn nieprawidłowego zachowania w wielomodułowej aplikacji zarówno z pomocą AI, jak i bez niej.

Zoptymalizowałem wydajność aplikacji końcowych, projektując i wdrażając aplikację-demona w PHP, który zmniejsza obciążenie serwera PostgreSQL poprzez okresową synchronizację wybranych danych do dedykowanych kolekcji w bazie MongoDB, umożliwiając ich szybki odczyt.

Stworzyłem aplikację w PHP i Bash do pół-automatycznej agregacji danych leadów z wielu źródeł oraz ich raportowania, zarówno w formie interaktywnego panelu online, jak i cyklicznych raportów XLSX wysyłanych e-mailem.

Byłem głównym projektantem technicznym (backendowym) krytycznego ekosystemu aplikacji do prezentacji i sprzedaży online samochodów przez dealerów.

Zainicjowałem i wdrożyłem w firmie narzędzia kolaboracji: GitLab, YouTrack oraz Mattermost.

Umiejętności

  • Samodzielność
  • Analityczne myślenie
  • Rozwiązywanie problemów
  • Efektywna komunikacja z zespołem i klientem
  • Umiejętność organizowania pracy i priorytetyzowania zadań
  • Elastyczność
  • Asertywność
  • Ciekawość
  • Cierpliwość
  • Zrozumienie

  • PHP
  • Slim Framework
  • AI Coding Agents
  • WebSocket
  • SQL
  • MySQL/MariaDB
  • PostgreSQL
  • SQLite
  • MongoDB
  • JavaScript
  • Vue.js
  • CSS, SCSS
  • HTML
  • API
  • RESTful API
  • CI/CD workflow
  • Git
  • Docker, Podman
  • Linux
  • Gentoo
  • Arch Linux
  • GitLab
  • YouTrack
  • PhpStorm
  • SSH

Języki

  • Angielski: B2
  • Polski: język ojczysty

Szkolenia i kursy

10.2024
PHPCon 2024 (+warsztaty)
PHPCon Poland to najstarsza i najbardziej unikalna konferencja dla programistów i entuzjastów języka PHP w Polsce

Wykształcenie

  • Informatyka w zarządzaniu, Uniwersytet Łódzki, 2005-2008 (nieukończone)
  • Informatyka i telekomunikacja, Politechnika Łódzka, 2000-2003 (nieukończone)

Zainteresowania i pasje

Psychologia głębi, filozofia egzystencjalna, Linux & Open Source, fantastyka (Ursula K. Le Guin).