Piotr MakowskiSenior Backend Engineer · Software Architect

Piotr Makowski

Senior Backend Engineer · Software Architect

Od piętnastu lat projektuję i rozwijam systemy backendowe w PHP, przede wszystkim na Symfony i Shopware 6, a przez dziewięć z tych lat kierowałem zespołami programistów. Od 2025 roku na co dzień pracuję z agentami AI, w procesie, w którym o przyjęciu kodu decydują przegląd i weryfikacja na rzeczywistych danych.

For fifteen years I have designed and developed backend systems in PHP, primarily with Symfony and Shopware 6, and for nine of those years I led development teams. Since 2025 I have worked with AI agents every day, in a process where code is accepted only after review and verification against real data.

W czym pomagamHow I help

  • Architektura i modernizacja aplikacji PHP/SymfonyProjektuję nowe moduły i plany migracji starszych aplikacji, od Symfony 1 i Zend Framework 1 po wersje bieżące, tak aby przez cały czas przebudowy system obsługiwał klientów bez przerw.
  • Shopware 6 i platformy e-commerceWdrażam i rozwijam sklepy na Shopware 6, w tym instancje obsługujące kilka marek jednocześnie, sprzedaż B2B oraz niestandardowe modele sprzedaży, takie jak leasing i subskrypcje.
  • Integracje i synchronizacja danychŁączę systemy, które nie były projektowane do współpracy: odziedziczone API klientów, bramki płatności, sieci afiliacyjne, kanały danych produktowych, a także bazy klientów scalane po przejęciach firm.
  • API dla aplikacji mobilnych i komunikacji w czasie rzeczywistymProjektuję interfejsy REST i usługi WebSocket; jako jedyny programista backendu zbudowałem serwerową część platformy mobilnej działającej na wzór Ubera dla klienta z Australii.
  • Przegląd kodu, jakość i rozwój zespołuPrzez dziewięć lat prowadziłem przeglądy kodu i kontrolę jakości w zespołach do dziesięciu osób, wprowadzałem analizę statyczną i testy automatyczne, a mniej doświadczonym programistom pomagałem się rozwijać przez szkolenia wewnętrzne i codzienną współpracę.
  • Odpowiedzialna praca z agentami AIPomagam wprowadzić agentów AI do pracy zespołu tak, aby przyspieszali implementację, nie przenosząc na zespół dodatkowego ryzyka: z kryteriami odbioru ustalanymi przed napisaniem kodu, weryfikacją na rzeczywistych danych, rejestrem powtarzających się błędów i pisemnym zapisem decyzji architektonicznych.
  • Ocena architektury przed kluczową decyzjąOceniam istniejącą aplikację, zanim zapadnie decyzja o jej przepisaniu, migracji albo przejęciu rozwoju przez nowy zespół, i przygotowuję pisemną rekomendację z kosztem i ryzykiem każdego wariantu.
  • Wydajność aplikacji i baz danychAnalizuję i poprawiam wydajność aplikacji oraz baz MySQL, od zapytań i indeksów po wyszukiwanie w Elasticsearch i przetwarzanie dużych zbiorów danych.
  • Środowiska i wdrożeniaPrzygotowuję środowiska programistyczne i produkcyjne na Linuksie, w kontenerach Docker i w AWS, razem z monitoringiem, kopiami zapasowymi i powtarzalną procedurą wdrożenia.
  • PHP/Symfony architecture and modernisationI design new modules and migration plans for older applications, from Symfony 1 and Zend Framework 1 to current versions, so that the system keeps serving customers without interruption throughout the rebuild.
  • Shopware 6 and e-commerce platformsI implement and extend Shopware 6 stores, including instances serving several brands at once, B2B sales and non-standard sales models such as leasing and subscriptions.
  • Integrations and data synchronisationI connect systems that were never designed to work together: legacy client APIs, payment gateways, affiliate networks, product data feeds, and customer databases merged after company acquisitions.
  • APIs for mobile and real-time applicationsI design REST interfaces and WebSocket services; as the sole backend developer I built the server side of an Uber-style mobile platform for an Australian client.
  • Code review, quality and team developmentFor nine years I ran code review and quality assurance in teams of up to ten engineers, introduced static analysis and automated testing, and helped less experienced developers grow through internal training and day-to-day collaboration.
  • Responsible work with AI agentsI help teams adopt AI agents so that they speed up implementation without shifting additional risk onto the team: with acceptance criteria agreed before any code is written, verification against real data, a registry of recurring failure modes and written architecture decision records.
  • Architecture assessment before a key decisionI assess an existing application before a decision is made to rewrite it, migrate it or hand its development to a new team, and prepare a written recommendation setting out the cost and risk of each option.
  • Application and database performanceI analyse and improve the performance of applications and MySQL databases, from queries and indexes to Elasticsearch search and the processing of large datasets.
  • Environments and deploymentI set up development and production environments on Linux, in Docker containers and on AWS, together with monitoring, backups and a repeatable deployment procedure.

ProjektyProjects

O mnieAbout

Zawodowo programuję w PHP od piętnastu lat, głównie w e-commerce i w systemach obsługi klientów. Przez sześć i pół roku kierowałem dziesięcioosobowym zespołem, który rozwijał platformę sprzedaży usług hostingowych w Domeny.pl i H88 (dziś cyber_Folks), a w BitBagu jako tech lead odpowiadałem za stabilność platformy Shopware 6, na której działały cztery marki sprzedające w Unii Europejskiej. W kilku projektach byłem jedynym programistą backendu, co wymagało samodzielnego podejmowania decyzji architektonicznych i ponoszenia ich konsekwencji.

Od 2025 roku pracuję z agentami AI (Claude Code) w procesie, który sam zaprojektowałem i rozwijam. Implementację powierzam agentom, ale kryteria odbioru, przegląd i decyzję o przyjęciu zmiany zostawiam po swojej stronie. Przebieg pracy dokumentuję pomiarami, a powtarzające się błędy zapisuję w rejestrze; dzięki temu widzę, które rodzaje pomyłek wracają, i zmieniam proces tam, gdzie rzeczywiście zawodzi.

Poza pracą zawodową od ponad dziesięciu lat utrzymuję własną infrastrukturę: serwery DNS i pocztowe, kontenery na kilku hostach z Linuksem, magazyn danych na ZFS z replikacją, monitoring oraz rodzinną chmurę Nextcloud. Ta praktyka pozwala mi oceniać decyzje architektoniczne także z perspektywy utrzymania systemu i usuwania awarii.

I have worked professionally with PHP for fifteen years, mostly in e-commerce and customer-facing systems. For six and a half years I led a team of ten developing a platform for selling hosting services at Domeny.pl and H88 (now cyber_Folks), and as a tech lead at BitBag I was responsible for the stability of a Shopware 6 platform running four brands selling across the European Union. On several projects I was the sole backend developer, which meant making architectural decisions on my own and living with their consequences.

Since 2025 I have worked with AI agents (Claude Code) in a process I designed and continue to refine myself. I delegate implementation to the agents, but acceptance criteria, review and the decision to accept a change remain with me. I document the work with measurements and record recurring mistakes in a registry, which shows me which kinds of error keep coming back, so I can change the process where it actually fails.

Outside client work, I have run my own infrastructure for more than ten years: DNS and mail servers, containers across several Linux hosts, replicated ZFS storage, monitoring and a family Nextcloud instance. This lets me judge architectural decisions from the perspective of operations and incident recovery as well, not only from that of application code.

ReferencjeReferences

„Piotr wyróżnia się doskonałą znajomością PHP, w szczególności w połączeniu z Symfony, a także solidnym podejściem do architektury aplikacji, testowania i optymalizacji kodu. Potrafi projektować i implementować rozwiązania, które są zarówno wydajne, jak i skalowalne, co czyni go doskonałym wyborem dla projektów o dużym stopniu złożoności. […] Z łatwością dzieli się wiedzą, wspiera mniej doświadczonych kolegów i aktywnie przyczynia się do rozwoju projektów.”
— Damian Murawski, CTO, BitBag
“Piotr stands out for his excellent command of PHP, particularly in combination with Symfony, and for his solid approach to application architecture, testing and code optimisation. He is able to design and implement solutions that are both efficient and scalable, which makes him an excellent choice for highly complex projects. […] He readily shares his knowledge, supports less experienced colleagues and actively contributes to the development of projects.”
— Damian Murawski, CTO, BitBag (translated from Polish)
„Miałem okazję współpracować z Piotrem przez kilka lat. Zaczynał w firmie od regularnego Programisty PHP, jednak bardzo szybko zaczął prowadzić projekty i awansował na Team Leadera zespołu DEV. Piotr jest bardzo dobrym i rzeczowym Programistą o bardzo szerokiej wiedzy i technologii z zakresu programowania. Dodatkowo konikiem Piotra są systemy UNIXowe i wielogodzinne grzebanie się w DEVOPSowych tematach :)”
— Wojciech Dyląg, bezpośredni przełożony, cyber_Folks
“I had the opportunity to work with Piotr for several years. He joined the company as a regular PHP developer, but very quickly began leading projects and was promoted to Team Leader of the development team. Piotr is a very good and pragmatic programmer with very broad knowledge of programming and its technologies. On top of that, Piotr’s passion is UNIX systems and spending hours digging into DevOps topics :)”
— Wojciech Dyląg, direct manager, cyber_Folks (translated from Polish)

KontaktContact

Kraków · praca zdalna w Unii Europejskiej · współpraca B2B · angielski C1

Kraków, Poland · remote within the EU · B2B contract · English C1