Pracuj.pl Praca zdalna Mid

.NET Developer / .NET Developerka (Regular/Senior) – platforma OMS i integracje

FORTEGIA SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ

⚲ Warszawa, Mokotów

70–130 zł netto (+ VAT) / godz.

Wymagania

  • C#
  • .NET 8/9/10
  • ASP.NET Core
  • EF Core
  • MySQL
  • MongoDB
  • Redis/FusionCache
  • RabbitMQ
  • REST API
  • webhooki
  • Docker
  • GitHub Actions
  • AWS ECR/EKS
  • Kubernetes
  • Helm
  • Serilog i OpenTelemetry
  • Architektura obejmuje mikroserwisy
  • Clean Architecture
  • własny CQRS
  • komunikację synchroniczną i event-driven oraz wewnętrzne biblioteki NuGet
  • Integracje z Allegro
  • Shopify
  • Amazon
  • eBay lub innymi marketplace’ami.
  • Integracje kurierskie
  • płatnicze
  • ERP
  • WMS
  • PIM albo systemy księgowe.
  • Doświadczenie z systemami multi-tenant.
  • Redis i mechanizmy cache.
  • Helm lub AWS.
  • Testcontainers i testy kontraktowe.
  • OpenTelemetry
  • tracing rozproszony i observability.
  • Znajomość procesów e-commerce: oferta-produkt-zamówienie-płatność-magazyn i przesyłka.

Opis stanowiska

Nasze wymagania:
Bardzo dobra znajomość C# oraz platformy .NET.
Praktyczne doświadczenie w tworzeniu i rozwijaniu aplikacji w ASP.NET Core.
Umiejętność projektowania czytelnego, testowalnego i łatwego w utrzymaniu kodu.
Znajomość Clean Architecture, SOLID, Dependency Injection oraz podstaw DDD i CQRS.
Praktyczna znajomość EF Core i relacyjnych baz danych, najlepiej MySQL.
Umiejętność modelowania encji i relacji, tworzenia migracji, pracy z transakcjami oraz optymalizacji zapytań.
Doświadczenie w projektowaniu i rozwijaniu REST API oraz integracji pomiędzy systemami.
Umiejętność samodzielnego czytania dokumentacji zewnętrznych API i przekładania jej na rozwiązanie techniczne.
Znajomość metod uwierzytelniania używanych w integracjach, m.in. OAuth 2.0, API Key i JWT.
Rozumienie takich zagadnień jak webhooki, paginacja, rate limiting, timeouty, retry, idempotencja i obsługa duplikatów.
Doświadczenie z komunikacją asynchroniczną przy użyciu RabbitMQ, Kafki lub podobnego rozwiązania.
Rozumienie kolejek, eventów, routingu komunikatów, ponowień oraz obsługi błędnych wiadomości.
Umiejętność tworzenia testów jednostkowych i integracyjnych.
Praktyczna znajomość Git, pull requestów, code review, Dockera oraz podstaw CI/CD.
Umiejętność diagnozowania błędów z wykorzystaniem logów, correlation ID, metryk i tracingu.
Świadomość zagadnień związanych z bezpieczeństwem, ochroną danych i kompatybilnością kontraktów API.
Samodzielność w realizacji zadania: od analizy istniejącego kodu i wymagań, przez wybór rozwiązania, po testy i przygotowanie zmiany do wdrożenia.
Umiejętność rozpoznawania ryzyka, niejasności i przypadków brzegowych oraz konsultowania ich z zespołem.
Odpowiedzialność za jakość dostarczanego rozwiązania i gotowość do utrzymywania rozwijanych funkcji.
Umiejętność korzystania z narzędzi AI wspierających analizę i programowanie oraz weryfikowania wygenerowanego kodu.
Komunikatywna znajomość języka polskiego w mowie i piśmie, umożliwiająca współpracę z zespołem oraz czytanie zadań i dokumentacji technicznej.
Gotowość do długoterminowej współpracy w pełni zdalnej.
Zapraszamy zarówno osoby pracujące już na poziomie Senior, jak i mocnych Regularów, którzy samodzielnie realizują zadania i w perspektywie 6–12 miesięcy mogą osiągnąć poziom seniorski. Liczba lat doświadczenia jest dla nas mniej istotna niż wiedza techniczna, sposób rozwiązywania problemów i odpowiedzialność za realizowane zadania.

O projekcie:
Fortegia to rozwijana przez nas platforma SaaS do zarządzania sprzedażą e-commerce. System obsługuje produkty, zamówienia, płatności, magazyny i przesyłki oraz łączy się z marketplace’ami, sklepami internetowymi, firmami kurierskimi i systemami ERP, WMS oraz PIM.
Platforma działa w architekturze mikroserwisowej. Backend rozwijamy w C# i .NET, wykorzystując m.in. ASP.NET Core, EF Core, MySQL, MongoDB, Redis, RabbitMQ, REST API i webhooki. Pracujemy z Dockerem, CI/CD, AWS i Kubernetes.
Dołączysz do zespołu rozwijającego istniejące moduły i tworzącego nowe integracje. Zadania otrzymasz w Jirze wraz z opisem biznesowym, scenariuszami działania i kryteriami akceptacji. Oczekujemy samodzielnego przeanalizowania istniejącego rozwiązania, zaprojektowania zmiany, implementacji, przygotowania testów i doprowadzenia zadania do wdrożenia. W razie niejasności możesz liczyć na wsparcie Product Ownera i architekta.
Pracujemy zgodnie z Clean Architecture, DDD i CQRS. Dbamy o czytelny kod, testy jednostkowe i integracyjne, code review oraz ponowne wykorzystywanie istniejących rozwiązań. Zespół tworzą backend developerzy, frontend developer, architekt, tester, Product Owner i Project Manager. Praca odbywa się w pełni zdalnie, a współpraca ma charakter długoterminowy.

Zakres obowiązków:
Rozwój backendu platformy OMS oraz istniejących mikroserwisów.
Tworzenie nowych funkcji związanych z produktami, zamówieniami, płatnościami, magazynami i przesyłkami.
Budowanie i rozwijanie integracji z marketplace’ami, sklepami internetowymi, kurierami oraz systemami ERP, WMS i PIM.
Analiza dokumentacji zewnętrznych API i projektowanie przepływu danych między systemami.
Rozwój REST API, webhooków oraz komunikacji asynchronicznej.
Mapowanie i synchronizacja danych pochodzących z różnych systemów.
Zapewnienie odporności integracji na błędy, duplikaty, limity API i czasową niedostępność usług.
Samodzielna realizacja zadań opisanych w Jirze: od analizy istniejącego kodu, przez zaprojektowanie rozwiązania i implementację, aż po testy i wdrożenie.
Identyfikowanie braków lub niejasności w wymaganiach oraz konsultowanie ich z Product Ownerem i architektem.
Tworzenie testów jednostkowych i integracyjnych.
Diagnozowanie oraz rozwiązywanie problemów na środowiskach testowych i produkcyjnych.
Przygotowywanie pull requestów, udział w code review i dbanie o jakość kodu.
Dokumentowanie istotnych zmian technicznych i kontraktów integracyjnych.
Współpraca z backend developerami, frontend developerem, testerem, architektem i Product Ownerem.
Wykorzystywanie narzędzi AI do analizy i programowania, przy zachowaniu odpowiedzialności za jakość oraz poprawność dostarczonego rozwiązania.

Oferujemy:
Współpracę B2B
Pracę w 100% zdalną.
Długoterminową współpracę przy rozwoju własnego produktu SaaS.
Stabilny projekt rozwijany produkcyjnie, a nie krótkoterminowe zlecenie.
Samodzielność w realizacji zadań i realny wpływ na podejmowane decyzje techniczne.
Zróżnicowane zadania obejmujące rozwój mikroserwisów, integracje i utrzymanie systemu.
Wsparcie architekta, Product Ownera, testerów oraz pozostałych członków zespołu.
Jasno opisane zadania, scenariusze działania i kryteria akceptacji w Jirze.
Code review, środowiska testowe oraz uporządkowany proces wdrażania zmian.
Możliwość rozwijania wiedzy z zakresu architektury mikroserwisowej, integracji, e-commerce i systemów przetwarzających duże ilości danych.
Możliwość korzystania z narzędzi AI wspierających analizę i programowanie.

🔍 Dekoder Ogłoszenia

🟡
Umiejętność projektowania czytelnego, testowalnego i łatwego w utrzymaniu kodu.
Oczekuje się, że kandydat będzie potrafił pisać kod, który nie jest chaotyczny i można go łatwo modyfikować w przyszłości, co jest standardem, ale czasem bywa nadużywane do określenia braku refaktoryzacji.
🔴
Samodzielność w realizacji zadania: od analizy istniejącego kodu i wymagań,
Może oznaczać, że będziesz musiał samodzielnie rozwikłać problemy i zrozumieć kod bez dużej pomocy ze strony zespołu lub przełożonego.
🟡
Praktyczna znajomość Git, pull requestów, code review, Dockera oraz podstaw CI/CD.
Wymagane jest nie tylko podstawowe użycie Git, ale także aktywne uczestnictwo w procesach zespołowych związanych z kodem i wdrożeniami.
🟡
Świadomość zagadnień związanych z bezpieczeństwem, ochroną danych i kompatybilnością kontraktów API.
Oczekuje się, że kandydat będzie zwracał uwagę na te aspekty, co może oznaczać, że obecne rozwiązania nie są w pełni zgodne lub wymagają poprawy.
🟢
Rozumienie takich zagadnień jak webhooki, paginacja, rate limiting, timeouty, retry, idempotencja i obsługa duplikatów.
To lista konkretnych, technicznych zagadnień, które są kluczowe dla integracji i wskazują na złożoność systemu, z którym będziesz pracować.