Senior Software Engineer
Szukasz miejsca, w którym Twoja praca naprawdę ma znaczenie? W CloudFerro tworzymy technologie, z których na co dzień korzystają europejscy liderzy nauki i sektora kosmicznego - m.in. ESA, EUMETSAT, ECMWF, Mercator Ocean International, DLR czy EGI. Oferujemy:
Realny wpływ na architekturę technologiczną w skali całej firmy.
Wyzwania inżynieryjne związane z europejskim sektorem kosmicznym.
Wysoki stopień autonomii i pracę wśród ekspertów.
Nieformalną i przyjazną atmosferę pracy w biurze nad Wisłą.
Atrakcyjne wynagrodzenie, stabilne zatrudnienie i pakiet benefitów (opieka medyczna, multisport, ubezpieczenie, lekcje językowe).
Daily tasks
- Projektowanie i rozwój architektury usług IAM.
- Rozwijanie backendowych komponentów odpowiedzialnych za uwierzytelnianie, autoryzację oraz zarządzanie tożsamością i dostępem.
- Projektowanie API oraz integracji pomiędzy usługami IAM i pozostałymi elementami platformy chmurowej.
- Projektowanie rozwiązań dla środowisk multi-tenant i systemów działających w dużej skali.
- Współpraca z Product Managerem w celu wypracowania rozwiązań realizujących wymagania biznesowe.
- Tworzenie prototypów i proof of concept dla nowych rozwiązań.
- Rozwój istniejącego kodu oraz implementacja nowych komponentów.
- Podejmowanie decyzji architektonicznych z uwzględnieniem bezpieczeństwa, skalowalności, niezawodności i maintainability.
- Dbanie o jakość kodu poprzez code review, testy automatyczne, refaktoryzację i dobre praktyki inżynierskie.
- Diagnozowanie złożonych problemów występujących na styku aplikacji, IAM i infrastruktury chmurowej.
- Współpraca z pozostałymi zespołami z technicznymi.
- Tworzenie i rozwijanie dokumentacji oraz standardów architektonicznych.
Requirements
Szukamy osoby, która łączy bardzo dobre umiejętności software engineering z myśleniem architektonicznym i lubi mieć realny wpływ na to, co i w jaki sposób budujemy. Idealny kandydat potrafi zaprojektować rozwiązanie, przedyskutować kompromisy architektoniczne, przygotować proof of concept i samodzielnie zaimplementować kluczowe elementy systemu — a przy tym nadal lubi pisać kod i być blisko technologii. Cenimy samodzielność, inicjatywę i pragmatyczne podejście: szukamy kogoś, kto potrafi zadać właściwe pytania, zrozumieć problem, zaproponować rozwiązanie i doprowadzić je do produkcji, bez zbędnej biurokracji. Minimum 6 lat doświadczenia w tworzeniu oprogramowania, w tym doświadczenia w projektowaniu architektury systemów. Bardzo dobra znajomość Python oraz doświadczenie w tworzeniu produkcyjnych usług backendowych.
Doświadczenie w projektowaniu systemów rozproszonych i mikroserwisowych.
Praktyczna znajomość standardów i protokołów takich jak OAuth 2.0, OpenID Connect, SAML 2.0, JWT.
Doświadczenie w projektowaniu i integracji REST API.
Dobra znajomość Linuxa, Kubernetes i środowisk chmurowych.
Znajomość relacyjnych baz danych, w szczególności PostgreSQL.
Umiejętność analizowania wymagań i przekładania ich na rozwiązania techniczne.
Umiejętność świadomego podejmowania decyzji architektonicznych i argumentowania związanych z nimi trade-offów.
Samodzielność i odpowiedzialność za rozwiązanie — od pomysłu i projektu po działający system produkcyjny.
Znajomość języka angielskiego pozwalającej na swobodną pracę z dokumentacją techniczną i współpracę w międzynarodowym środowisku. Dodatkowym atutem będzie: Znajomość innych języków typu Java czy Go.
Znajomość platform AWS, Azure albo GCP.
Znajomość RBAC, ABAC, policy engines i modeli fine-grained authorization.
Znajomość zagadnień związanych z MFA, SSO, service accounts, token management i secrets management.
Znajomość RabbitMQ, Redis, Prometheus/Grafana.
Doświadczenie w projektowaniu rozwiązań IAM dla środowisk multi-cloud lub dużych platform SaaS/PaaS/IaaS.
Praktyczna wiedza z zakresu bezpieczeństwa aplikacji i cloud security.
Znajomość OpenStack w tym Keystone.
Must have: Software Architecture, Python, Microservices architecture, Distributed computing, PostgreSQL, REST API, Kubernetes, Ownership, Linux, Analiza systemowa
Nice to have: Golang, Java, C++, AWS, OpenStack, RBAC, ABAC, Policy engines, MFA, SSO, Service Account, token management, RabbitMQ, Redis, Prometheus, IAM, multi-cloud, Cloud security, aplication security