Principal Software Architect (PHP)

175 - 193 PLN/ godz.B2B (netto)
SeniorFull-time·B2B
#322369·Dodano 23 dni temu·62
Źródło: theprotocol.it
Aplikuj teraz

Tech Stack / Keywords

PHPSymfonyMySQLPostgreSQLElasticsearchRabbitMQNginxHAProxyVarnishDockerKubernetesVue.jsNuxt.js

Firma i stanowisko

Projekt dotyczy platformy w branży kosmetycznej, obejmującej obszary użytkowników, recenzji i produktów. Obecny system jest oparty o Magento i posiada istotny dług technologiczny, który należy wyczyścić poprzez uproszczenie i uporządkowanie architektury oraz przygotowanie jej od nowa w bardziej dopasowany do potrzeb klienta sposób. Jednym z głównych celów jest całkowite wyjście z Magento i zastąpienie go rozwiązaniem, które zachowa dotychczasowe funkcjonalności, ale jednocześnie otworzy możliwość dalszego rozwoju i dodawania nowych funkcji w przyszłości.


Wymagania

  • Ponad 10 lat doświadczenia w projektowaniu i tworzeniu systemów backendowych o dużej skali
  • Bardzo dobra znajomość PHP oraz doświadczenie w projektach o wysokim obciążeniu i dużych wolumenach danych
  • Doświadczenie w projektowaniu architektury systemów opartych o PHP (np. Symfony lub podobne frameworki)
  • Doświadczenie w projektowaniu i refaktoryzacji dużych systemów (np. monolitów do architektury modułowej lub rozproszonej)
  • Praktyczne doświadczenie w projektowaniu architektur skalowalnych i wysokiej dostępności
  • Doświadczenie w pracy z technologiami wykorzystywanymi w projekcie, w szczególności: MySQL / PostgreSQL, Elasticsearch, RabbitMQ lub inne systemy kolejkowe
  • Doświadczenie w projektowaniu integracji systemowych oraz API
  • Umiejętność pracy z dużymi wolumenami danych oraz systemami wysokiej dostępności
  • Doświadczenie w tworzeniu dokumentacji architektonicznej i technicznej (diagramy, ADR, modele systemu)
  • Umiejętność podejmowania świadomych decyzji architektonicznych oraz ich uzasadnienia technicznego i biznesowego
  • Umiejętność definiowania standardów architektonicznych oraz dobrych praktyk programistycznych
  • Umiejętność pracy w środowisku zespołowym oraz mentoringu technicznego
  • Projektowanie systemów zgodnie z zasadami SOLID
  • Stosowanie wzorców projektowych
  • Projektowanie architektur takich jak Clean Architecture, Hexagonal Architecture lub podobnych
  • Projektowanie systemów testowalnych oraz wspierających automatyzację testów
  • Projektowanie czytelnych i stabilnych kontraktów API
  • Angielski (B1-B2)
  • Polski (C1)

Nice to have:

  • Znajomość Domain-Driven Design (DDD) oraz doświadczenie w modelowaniu domeny
  • Doświadczenie w prowadzeniu warsztatów Event Storming
  • Doświadczenie w projektowaniu architektur event-driven lub CQRS
  • Znajomość technologii frontendowych (Vue / Nuxt) w kontekście projektowania integracji z backendem
  • Doświadczenie z infrastrukturą kontenerową i orkiestracją (Docker, Kubernetes)
  • Znajomość warstwy infrastrukturalnej systemów wysokiej dostępności (Nginx, HAProxy, Varnish)

Obowiązki

  • Przygotowanie koncepcji architektonicznej nowej części systemu wraz ze strategią jej wdrożenia
  • Analiza istniejącej architektury systemu oraz zrozumienie obecnych ograniczeń technologicznych we współpracy z analitykami biznesowymi i systemowymi
  • Opracowanie artefaktów architektonicznych umożliwiających sprawną realizację prac przez zespoły developerskie, w szczególności: diagramów architektury systemu (np. UML, C4 – kontekst, kontenery, komponenty), diagramów przepływu danych oraz integracji między systemami, dokumentacji decyzji architektonicznych (ADR), modelu podziału systemu (moduły, bounded contexts, serwisy)
  • Koncepcji integracji z istniejącą częścią systemu oraz systemami zewnętrznymi
  • Zaprojektowanie strategii migracji i rozwoju systemu (np. modularny monolit, mikroserwisy lub inne podejście uzasadnione analizą architektoniczną)
  • Identyfikacja wąskich gardeł wydajnościowych oraz architektonicznych w obecnym systemie
  • Podejmowanie kluczowych decyzji technologicznych dotyczących m.in.: warstwy danych (MySQL, PostgreSQL), wyszukiwania i indeksowania (Elasticsearch), komunikacji asynchronicznej (RabbitMQ), cache oraz warstwy pośredniczącej (Varnish, HAProxy), integracji systemów i API
  • Definiowanie standardów architektonicznych, integracyjnych oraz wydajnościowych dla zespołów developerskich
  • Definiowanie standardów jakości kodu, testowalności, struktury projektów oraz praktyk developerskich
  • Współpraca z zespołami backend, frontend oraz DevOps przy wdrażaniu nowej architektury
  • Nadzór architektoniczny nad implementacją oraz wsparcie zespołów developerskich w rozwiązywaniu złożonych problemów technicznych
  • Tworzenie referencyjnych implementacji oraz aktywny udział w pracach programistycznych w kluczowych obszarach systemu
  • Udział w planowaniu rozwoju systemu pod kątem wydajności, skalowalności oraz odporności na błędy
  • Wsparcie zespołu w modelowaniu domeny oraz analizie systemowej (np. z wykorzystaniem podejścia DDD)

Oferta

  • 50% Multisport
  • Prywatna opieka medyczna Luxmed
  • Grupowe ubezpieczenie zdrowotne
  • Praca zdalna
Karta sportowa
Opieka zdrowotna
Ubezpieczenie
Develocraft

Develocraft

20 aktywnych ofert

Zobacz wszystkie oferty
Aplikuj teraz