Senior Forward Deployment Engineer (Java) in Warsaw

Senior Forward Deployment Engineer (Java) in Warsaw

Warsaw Pełny etat 118800 - 145200 zł / rok (szac.) Hybrydowo
L

W skrócie

  • Zadania: Prowadzenie technicznych projektów związanych z bezpieczeństwem i modernizacją aplikacji bankowych.
  • Firma: Dynamiczna firma technologiczna w branży finansowej.
  • Benefity: Atrakcyjne wynagrodzenie, elastyczne godziny pracy i możliwości rozwoju zawodowego.
  • Pozostałe informacje: Możliwość pracy w zespole ekspertów i rozwijania umiejętności w dynamicznym środowisku.
  • Dlaczego ta praca: Zyskaj doświadczenie w nowoczesnych technologiach i wpływaj na kluczowe projekty.
  • Kwalifikacje: Doświadczenie w programowaniu w Java oraz umiejętności w zakresie DevOps.

Przewidywane wynagrodzenie mieści się w przedziale 118800 - 145200 zł za rok.

Projekt koncentruje się na poprawie bezpieczeństwa, niezawodności wydania, utrzymania i odporności operacyjnej krytycznych aplikacji bankowych. Inżynierowie wdrożeniowi będą prowadzić ukierunkowane, praktyczne działania z zespołami deweloperskimi, które napotykają wyzwania związane z usuwaniem luk w zabezpieczeniach, automatycznym testowaniem, technologią dziedziczną, stabilnością produkcji lub osiąganiem bezpiecznego i szybkiego cyklu wydania.

Rola łączy w sobie senior engineering software, DevOps, SRE, automatyzację testów, bezpieczeństwo aplikacji oraz modernizację technologii dziedzicznych. Około 70% pracy polega na praktycznym kodowaniu i konfiguracji. Zakres techniczny obejmuje budowanie skutecznych zestawów testów automatycznych, usuwanie luk w zabezpieczeniach, przeprowadzanie analizy zależności i dostępności, aktualizację środowisk Java i NPM, modernizację aplikacji Spring i technologii dziedzicznych, poprawę procesów CI/CD, konteneryzację aplikacji, automatyzację wdrożeń oraz wprowadzenie standardowych wzorców obserwowalności i odporności.

Oczekuje się, że Ekspert FDE będzie prowadził złożone działania, współpracował bezpośrednio z interesariuszami deweloperskimi i klientami, definiował podejście do usuwania problemów technicznych, osobiście wdrażał kluczowe zmiany oraz umożliwiał zespołom klientów utrzymanie poprawionych praktyk inżynieryjnych.

Obowiązki:

  • Prowadzenie ukierunkowanych działań technicznych dotyczących bezpieczeństwa, testowania, wydania, odporności i wyzwań technologii dziedzicznej z zespołami deweloperskimi.
  • Ocena kodu aplikacji, zależności, środowiska uruchomieniowego, pokrycia testami, architektury wdrożenia, procesów CI/CD, obserwowalności i ryzyk operacyjnych.
  • Pisanie, debugowanie, przeglądanie i ulepszanie kodu i konfiguracji produkcyjnej podczas działań.
  • Definiowanie i wdrażanie praktycznych planów modernizacji i usuwania problemów z jasnymi priorytetami, zależnościami, ryzykiem i mierzalnymi wynikami.
  • Rozwój lub poprawa testów jednostkowych, integracyjnych, komponentowych, umownych i testów dymnych wdrożeniowych przy użyciu praktyk Test-Driven Development.
  • Wybór odpowiednich podejść do testowania automatycznego dla aplikacji i kierowanie ich wdrażaniem, w tym wykorzystanie narzędzi AI do pomocy w kodowaniu.
  • Źródłowanie odpowiednich danych testowych i wdrażanie zabezpieczania danych dla niższych środowisk.
  • Przeprowadzanie triage luk w zabezpieczeniach, analiz przyczyn źródłowych i dostępności zależności, priorytetyzacja usuwania problemów, zmiany w kodzie zabezpieczającym i testy regresyjne.
  • Aktualizacja Java, JVM, NPM, Spring, bibliotek open-source, wewnętrznych zależności, zainstalowanego oprogramowania, obrazów bazowych i systemów operacyjnych do wspieranych wersji.
  • Ustanowienie zrównoważonych procesów zarządzania zależnościami z ciągłymi aktualizacjami bibliotek przy użyciu Renovate lub równoważnych narzędzi.
  • Modernizacja aplikacji dziedzicznych i stosów middleware, w tym tych wdrożonych na WebSphere lub WebLogic.
  • Konteneryzacja aplikacji przy użyciu Dockera i wsparcie wdrożenia do OpenShift.
  • Poprawa kontroli źródłowej, zarządzania gałęziami, pull-requestów i praktyk przeglądu kodu.
  • Projektowanie, wdrażanie i optymalizacja procesów CI/CD, aby zapewnić bezpieczne, powtarzalne, zautomatyzowane i łatwe wydania.
  • Automatyzacja zmian w zainstalowanym oprogramowaniu i środowisku przy użyciu Ansible lub równoważnych narzędzi do zarządzania konfiguracją.
  • Wdrażanie wzorców bezpiecznego kodowania, zarządzania tajemnicami, uwierzytelniania, autoryzacji i kontroli minimalnych uprawnień.
  • Wprowadzenie standardowych wzorców obserwowalności, w tym strukturalnego logowania, metryk aplikacji, śledzenia, pulpitów nawigacyjnych, alertów i wykonalnych kontroli zdrowia.
  • Udoskonalenie obsługi wyjątków, diagnostyki operacyjnej, procedur wycofywania i kontroli walidacji produkcji.
  • Projektowanie lub poprawa odpornych architektur wdrożeniowych, w tym wdrożeń hot-hot w różnych centrach danych, gdy jest to wymagane.
  • Prowadzenie warsztatów technicznych i skuteczne komunikowanie decyzji technicznych, ryzyk, przeszkód, kompromisów i postępów do inżynierii, bezpieczeństwa, architektury, operacji, zarządzania projektami i interesariuszy.
  • Zapewnienie przywództwa technicznego poprzez przeglądy kodu, coaching, standardy wielokrotnego użytku, dokumentację i transfer wiedzy do zespołów deweloperskich.
  • Przyjmowanie odpowiedzialności od początkowej oceny przez wdrożenie, wdrożenie produkcyjne, stabilizację i przekazanie.

Wymagane umiejętności:

  • Rola wymaga obszernego doświadczenia w inżynierii oprogramowania, z naciskiem na rozwijanie i utrzymywanie aplikacji produkcyjnych. Kandydaci muszą aktywnie pisać i konfigurować kod, a nie tylko nadzorować architekturę lub zadania zarządzające.
  • Ekspertyza w rozwoju opartym na Javie i JVM jest niezbędna, podczas gdy silne umiejętności TypeScript są cenione w projektach opartych na Node.js.
  • Biegłość w ekosystemie Spring i modernizacji aplikacji przedsiębiorstw Java jest wymagana.
  • Kandydat powinien wykazać się niedawnym osobistym zaangażowaniem w kodowanie, debugowanie i przeglądanie kodu produkcyjnego.
  • Umiejętności twarde obejmują praktyczne doświadczenie w Test-Driven Development w różnych frameworkach testowych, z solidnym zrozumieniem różnych typów testów, takich jak testy jednostkowe, integracyjne i regresyjne.
  • Rola obejmuje tworzenie zautomatyzowanych zestawów testów zintegrowanych w procesach CI/CD, wraz z projektowaniem automatyzacji wydania i bram jakości.
  • Silna wiedza na temat praktyk bezpiecznego kodowania, usuwania luk w zabezpieczeniach i zarządzania ryzykiem zależności jest konieczna, w tym umiejętność analizy wpływu aplikacji przed zastosowaniem poprawek bezpieczeństwa.
  • Doświadczenie w aktualizacji środowisk uruchomieniowych, frameworków, bibliotek, platform kontenerowych, takich jak Docker lub OpenShift, oraz zarządzaniu środowiskami Linux - najlepiej Red Hat Enterprise Linux - jest również ważne.
  • Znajomość narzędzi do budowy, takich jak Maven, Gradle lub npm, zaawansowane przepływy pracy Git oraz kompleksowe techniki debugowania produkcji są oczekiwane.
  • Kandydaci powinni rozumieć obserwowalność aplikacji, obsługę wyjątków i gotowość produkcyjną, a także podstawowe zasady inżynierii systemów rozproszonych i krytycznych.

Umiejętności miękkie:

  • Skupienie na wykazanej odpowiedzialności za złożoną pracę techniczną na wszystkich etapach, od projektowania po przekazanie do produkcji.
  • Silna komunikacja z klientem jest niezbędna, w tym prowadzenie dyskusji technicznych, konstruktywne kwestionowanie niebezpiecznych praktyk oraz wyjaśnianie kompromisów różnym interesariuszom.
  • Umiejętność coachingu inżynierów i wdrażania zrównoważonych standardów inżynieryjnych bez nadmiernej personalizacji jest kluczowa.
  • Odpowiedzialne i aktywne korzystanie z narzędzi AI do kodowania w celu poprawy wyników inżynieryjnych, testowych i dostarczających jest również oczekiwane.

Senior Forward Deployment Engineer (Java) in Warsaw – pracodawca: Luxoft Poland

Nasza firma to doskonały pracodawca, który oferuje stabilne zatrudnienie oraz bogaty pakiet benefitów, w tym prywatną opiekę medyczną i programy rozwoju zawodowego. Pracując jako DevOps/Cloud Engineer w dynamicznym środowisku, będziesz miał możliwość pracy z nowoczesnymi technologiami, takimi jak Azure i Kubernetes, a także korzystania z programów wewnętrznych, które wspierają rozwój kariery i mobilność między projektami. Nasza kultura pracy sprzyja innowacyjności i współpracy, co czyni nas idealnym miejscem dla osób poszukujących satysfakcjonującej i znaczącej kariery.

L

Dane kontaktowe:

Zespół rekrutacyjny Luxoft Poland

Naszym zdaniem te umiejętności pozwolą ci błyszczeć jako Senior Forward Deployment Engineer (Java) in Warsaw

Java
JVM
TypeScript
Spring
Test-Driven Development
Automated Testing
CI/CD Pipelines