W skrócie
- Zadania: Prowadź techniczne projekty, poprawiając bezpieczeństwo i stabilność aplikacji bankowych.
- Firma: Innowacyjna firma technologiczna z dynamiczną kulturą pracy.
- Benefity: Stabilne zatrudnienie, elastyczne godziny pracy, programy wsparcia dla pracowników.
- Pozostałe informacje: Możliwość rozwoju kariery i uczestnictwa w innowacyjnych projektach.
- Dlaczego ta praca: Zyskaj doświadczenie w nowoczesnych technologiach i wpływaj na rozwój krytycznych aplikacji.
- Kwalifikacje: Doświadczenie w inżynierii oprogramowania, Java, DevOps oraz umiejętności współpracy w zespole.
Przewidywane wynagrodzenie mieści się w przedziale 113400 - 138600 zł za rok.
Projekt koncentruje się na poprawie bezpieczeństwa, niezawodności wydania, utrzymania i odporności operacyjnej krytycznych aplikacji bankowych. Inżynierowie Forward Deployed 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 senior software engineering, DevOps, SRE, automatyzację testów, bezpieczeństwo aplikacji i 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ę pipeline'ó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żeń, pipeline'ów CI/CD, obserwowalności i ryzyk operacyjnych.
- Pisanie, debugowanie, przeglądanie i ulepszanie kodu produkcyjnego i konfiguracji w trakcie 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, kontraktowych 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 wdrożeniem, w tym wykorzystanie asystentów kodowania AI.
- Przeprowadzanie triage'u luk w zabezpieczeniach, analiz przyczyn źródłowych i dostępności zależności, priorytetyzacja usuwania problemów, zmiany w kodzie zabezpieczeń 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ła, zarządzania gałęziami, pull-requestów i praktyk przeglądu kodu.
- Projektowanie, wdrażanie i optymalizacja pipeline'ów CI/CD w celu zapewnienia bezpiecznych, powtarzalnych, automatycznych i łatwych 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 sekretami, uwierzytelniania, autoryzacji i kontroli minimalnych uprawnień.
- Wprowadzenie standardowych wzorców obserwowalności, w tym strukturalnego logowania, metryk aplikacji, śledzenia, pulpitów, 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 inżynieryjnych, bezpieczeństwa, architektury, operacji, zarządzania projektami i interesariuszami.
- 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. Wiedza ekspercka w zakresie rozwoju Java 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 pipeline'ach 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 zabezpieczeń. 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 i 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.
Tryb pracy: hybrydowy 3 dni/tydzień z biura
Co oferujemy naszym pracownikom?
- Copyrights, co oznacza wyższe wynagrodzenie netto dla programistów
- W pełni zdalny proces rekrutacji
- Stabilne zatrudnienie na podstawie umowy o pracę
- Program MyBenefit (karta sportowa, program wellness itp.)
- Program wsparcia dla pracowników dla Ciebie i Twojej rodziny! (konsultacje z psychologiem, sesje coachingowe, pomoc w życiu prywatnym)
- Platforma LuxTalent (webinaria, szkolenia, kursy z certyfikatami)
- Program mobilności wewnętrznej - możliwość rotacji między projektami, lokalizacjami, kontami
Senior Forward Deployment Engineer (Java + Devops) 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.