Senior Full Stack PHP Developer
O stanowisku
Szukamy doświadczonego Senior Full Stack PHP Developera, który najpierw wesprze utrzymanie naszego istniejącego systemu CRM w PHP 7.4, a następnie w perspektywie kilku miesięcy dołączy do zespołu tworzącego nową wersję CRM w Symfony 7 / PHP 8.
To stanowisko dla osoby, która dobrze czuje się w rozbudowanym legacy code, a jednocześnie chce rozwijać nowoczesny system oparty o Symfony, Doctrine i Twig. Szukamy kogoś, kto potrafi zarówno bezpiecznie modyfikować dojrzały, wielomodułowy kod, jak i aktywnie uczestniczyć w projektowaniu nowej architektury.
Projekty:
Obecny CRM (start pracy)
Monolityczny system biznesowy obsługujący catering, CRM i sprzedaż, oparty o:
· PHP 7.4
· MySQL / MariaDB
· Własną architekturę MVC
· Smarty (szablon serwerowy)
· jQuery i JavaScript
System zawiera dużo logiki domenowej: zamówienia, płatności, raporty sprzedażowe, integracje zewnętrzne (REST API, webhooki), fiskalizację, generowanie paragonów i faktur PDF, zadania cron. Kod jest dojrzały, wielomodułowy, mocno dopasowany pod procesy firmy – idealne miejsce, żeby poznać naszą logikę biznesową i przygotować się do pracy nad naszym nowym systemem.
Nowy CRM (po wdrożeniu)
Nowy system CRM budowany w nowoczesnym stosie technologicznym:
· PHP 8.x
· Symfony 7 (kontrolery, routing, DI, Security, CSRF)
· Doctrine ORM (encje, relacje, repozytoria, QueryBuilder, Migrations)
· Twig
· Bootstrap
· jQuery/AJAX
· Symfony Security, Serializer, Monolog
Klasyczny, modularny CRM z rozbudowanymi encjami domenowymi, wieloma relacjami między obiektami, systemem uprawnień, logowaniem zmian, zarządzaniem statusami zamówień i klientów, akcjami AJAX i dynamicznymi widokami.
Zakres obowiązków
• Rozwój i utrzymanie istniejącego systemu CRM w PHP 7.4 (legacy MVC, Smarty, jQuery)
• Analiza i modyfikacja logiki biznesowej (zamówienia, płatności, raporty, integracje, fiskalizacja)
• Projektowanie i optymalizacja złożonych zapytań SQL (JOIN, GROUP BY, agregacje, raporty)
• Tworzenie i modyfikacja kontrolerów, modeli oraz szablonów Smarty / HTML
• Integracje z zewnętrznymi systemami (REST API, webhooki, JSON, cURL)
• Generowanie dokumentów PDF (faktury, paragony, raporty)
• Po okresie wdrożenia: rozwój nowego CRM w Symfony 7 (kontrolery, serwisy, encje Doctrine, Twig, AJAX)
• Udział w projektowaniu architektury modułów, uprawnień, logowania zmian i raportów w nowym systemie
• Okazjonalne zadania frontendowe na stronach www (HTML/CSS, JavaScript/jQuery, Bootstrap) – zdecydowanie mniejsza część czasu pracy
Wymagania techniczne
Must have
• Bardzo dobra znajomość PHP 7.x oraz praktyczne doświadczenie z PHP 8.x
• Doświadczenie w pracy z legacy code (własne frameworki, monolity, duża ilość logiki w modelach/kontrolerach)
• Bardzo dobra znajomość SQL / MySQL (złożone zapytania, JOIN, GROUP BY, optymalizacja, indeksy, relacje 1:N i N:M)
• Praktyczna znajomość wzorca MVC (zarówno własne implementacje, jak i frameworki typu Symfony)
• Doświadczenie z szablonami serwerowymi – Smarty i/lub Twig
• JavaScript i jQuery na poziomie pozwalającym tworzyć dynamiczne formularze i obsługę AJAX/JSON
• Doświadczenie w integracjach HTTP/REST (cURL, JSON, webhooki, autoryzacja tokenami/podpisami)
• Umiejętność czytania, analizy i bezpiecznego rozwijania dużego, istniejącego kodu
• Znajomość systemu kontroli wersji Git
Nice to have
• Symfony 6/7 na projektach produkcyjnych
• Doctrine ORM, QueryBuilder, Doctrine Migrations
• Doświadczenie z TCPDF, mPDF lub podobnymi bibliotekami PDF
• PHPUnit (testy jednostkowe i integracyjne)
• Logowanie zmian, audyt encji, projektowanie warstwy domenowej
• Doświadczenie w systemach z wieloma rolami i rozbudowanymi uprawnieniami
• Znajomość wzorców projektowych (Repository, Service, DTO)
• Composer i zarządzanie zależnościami
• Doświadczenie z migracjami danych i raportowaniem
Wymagania kompetencyjne
Szukamy osoby, która:
• Myśli analitycznie i rozumie systemy biznesowe (CRM / ERP / e-commerce / back-office)
• Dba o poprawność danych i spójność logiki biznesowej (statusy, raporty, historia zmian)
• Pracuje samodzielnie, ale nie boi się pytać, gdy coś jest niejasne
• Jest ostrożna i dokładna przy wprowadzaniu zmian w rozbudowanym kodzie
• Potrafi dokumentować zmiany i dbać o jakość
• Ma gotowość do stopniowego przejścia z legacy na nowy system i aktywnego udziału w refaktoryzacji
• Nie boi się dużej liczby powiązań między modułami
• Umie priorytetyzować: kiedy naprawić bug, a kiedy rozwijać nową funkcję
Technologie, z którymi będziesz pracować
Na starcie (legacy CRM)
• PHP 7.4
• Własna architektura MVC, ModelFactory/GenericModel, Registry
• MySQL/MariaDB (dużo ręcznie pisanych zapytań SQL, raporty)
• Smarty (szablon serwerowy)
• HTML5, CSS3
• JavaScript, jQuery
• Integracje HTTP (cURL, REST/JSON, webhooki)
• TCPDF lub podobne biblioteki PDF
• Composer
Docelowo (nowy CRM)
• PHP 8.x
• Symfony 7 (kontrolery, routing, Dependency Injection, Security, CSRF, JsonResponse)
• Doctrine ORM (encje, relacje, repozytoria, QueryBuilder)
• Doctrine Migrations
• Twig
• Bootstrap
• JavaScript, jQuery
• AJAX/JSON
• Symfony Serializer
• Monolog (logowanie)
• PHPUnit
• Praca z wieloma modułami i rolami użytkowników
Co oferujemy
• Pracę przy realnym, rozwijanym systemie biznesowym
• Kontakt z ciekawą logiką domenową i integracjami
• Możliwość wpływu na rozwój architektury i jakości kodu
• Współpracę z zespołem, który zna produkt i procesy
• Przejście od legacy do nowoczesnego stosu technologicznego (Symfony 7, PHP 8, Doctrine)
• Elastyczne godziny pracy
• Pracę stacjonarną/częściowo zdalną – do ustalenia
• System benefitów, napoje, kawa, herbata, posiłki w pracy
• Zniżki na firmowe produkty i usługi
• Brak dress code'u
• Firmowy parking
Senior Full Stack PHP Developer
Senior Full Stack PHP Developer