Node.js Developer
Коротко
Designs and implements scalable backend services in NestJS and TypeScript; creates and maintains REST APIs following CQRS and clean architecture; integrates · Needs: 4–5 years of commercial backend experience; Node.js, TypeScript, NestJS; hybrid work in Warsaw.
Описание от работодателя
Required skills: Node.js, TypeScript, nestJS, REST API, CQRS, PostgreSQL, Docker, Git, RabbitMQ, Kubernetes
W TSS tworzymy najwyższej jakości rozwiązania z zakresu Software Development, FinTech, AI Solution.
Tworzymy systemy płatnicze, bramki płatnicze online oraz rozwiązania umożliwiające innowacyjne procesowanie płatności.
Nasze zespoły uczestniczą również w projektach wykonywanych dla klientów z wielu różnych branż i specjalizacji.
Do naszego zespołu poszukujemy osoby, która ma doświadczenie w projektowaniu interfejsów użytkownika, dba o dostępność cyfrową i potrafi przekładać potrzeby użytkowników na intuicyjne rozwiązania.
Forma pracy: do ustalenia - otwartość na pracę w formie hybrydowej w Warszawie
Dołącz do naszego zespołu jako Node.js Developer i pracuj nad projektowaniem oraz rozwojem skalowalnych usług back-endowych. Szukamy osoby, która dobrze odnajduje się w architekturze mikroserwisowej, ceni jakość kodu i ma doświadczenie w budowaniu rozwiązań opartych o Node.js, TypeScript i NestJS .
Jeśli masz 4–5 lat doświadczenia komercyjnego w back-endzie i chcesz mieć wpływ na rozwój nowoczesnych rozwiązań, zapraszamy do kontaktu.
🚀 Twój zakres obowiązków
Projektowanie i implementacja skalowalnych usług back-endowych w NestJS + TypeScript.
Tworzenie i utrzymywanie REST API zgodnie z CQS oraz zasadami czystej architektury.
Współpraca z zespołami front-end i DevOps przy definiowaniu kontraktów API oraz integracji.
Integracja z zewnętrznymi systemami za pomocą REST/HTTP, kolejek oraz baz danych .
Udział w projektowaniu nowych funkcjonalności oraz pokrywaniu ich testami, w tym w podejściu TDD / BDD .
Przygotowywanie dokumentacji technicznej, diagramów i schematów, m.in . z wykorzystaniem PlantUML i Swagger/OpenAPI .
Udział w spotkaniach zespołu SCRUM : Daily, Planning, Refinement, Review i Retrospective.
Wykonywanie code review oraz dbanie o wysoki poziom jakości kodu.
Tworzenie i dzielenie się wiedzą w formie tips&tricks oraz materiałów na Confluence.
Praca zgodna z podejściem DevOps , obejmująca CI/CD, monitorowanie i konteneryzację.
💻 Czego oczekujemy?
Minimum 4–5 lat komercyjnego doświadczenia w pracy jako programista back-end.
Bardzo dobrej znajomości Node.js , preferowana wersja LTS.
Bardzo dobrej znajomości TypeScript , w tym typowania, klas, dekoratorów i generics.
Doświadczenia z NestJS lub innym architektonicznym frameworkiem opartym o Dependency Injection.
Znajomości wzorca CQS (Command Query Separation) oraz zasad projektowania RESTful API .
Doświadczenia z systemami kolejkowymi i asynchronicznym przetwarzaniem danych, w szczególności RabbitMQ lub Kafka — na poziomie integracji i praktycznego wykorzystania.
Znajomości baz danych, szczególnie PostgreSQL , w tym modelowania relacji i optymalizacji zapytań.
Znajomości zasad Clean Code, SOLID, KISS i DRY .
Znajomości Dockera , w tym podstawowej umiejętności tworzenia Dockerfile i konfiguracji kontenerów.
Podstawowej znajomości Kubernetes , m.in . Deployment, ConfigMap, Service.
Bardzo dobrej znajomości Git i dobrych praktyk pracy z repozytorium, takich jak git-flow, squash i code review.
Doświadczenia z narzędziami CI/CD , w szczególności GitLab Pipelines.
Znajomości systemów Linux / UNIX na poziomie developerskim.
⭐ Mile widziane
Doświadczenie z CQRS + Event Sourcing .
Znajomość narzędzi do logowania i monitorowania mikroserwisów, takich jak Prometheus, Grafana, Loki lub ELK .
Doświadczenie w przygotowywaniu testów jednostkowych i integracyjnych , np. z wykorzystaniem Jest i Supertest.
Znajomość WebSockets .
Znajomość OpenAPI / Swagger .
🛠 Technologie
Node.js · TypeScript · NestJS · PostgreSQL · RabbitMQ · Kafka · Docker · Kubernetes · Git · GitLab CI/CD · REST API · OpenAPI / Swagger · Jest · Supertest · Prometheus · Grafana · Loki · ELK
Co zyskujesz, dołączając do teamu?
Stabilność współpracy – długofalową współpracę w oparciu o kontrakt B2B
Realny wpływ na systemy – Twoja analiza bezpośrednio kształtuje rozwiązania IT
Rozwój kompetencji analitycznych – praca w złożonych projektach systemowych i biznesowych
Środowisko eksperckie – współpraca z doświadczonymi zespołami IT i biznesu
Kulturę współpracy – nacisk na komunikację, analizę i jakość rozwiązań