Senior Rust and C++ Developer (f / m/x)
Białystok, Polska, Bydgoszcz, Polska, Kraków, Polska +10Wichtige Merkmale des Angebots
Mind. 5 Jahre Erfahrung
Vollzeit
Remote-Arbeit - kein Pendeln
Private Krankenversicherung
Opis
Szukamy doświadczonego Software Engineera do dynamicznego zespołu skoncentrowanego na migracjach zapewniających bezpieczeństwo pamięci. Będziesz odpowiedzialny za portowanie szeroko używanych, starszych bibliotek open-source C/C++ do bezpiecznych pamięciowo odpowiedników w Rust. Rola ta kładzie nacisk na głęboką integrację, aby płynnie łączyć luki funkcjonalne między niebezpiecznym kodem legacy a nowoczesnymi zamiennikami w Rust, zapewniając minimalne zakłócenia dla istniejących użytkowników. Stanowisko jest w pełni zdalne, co pozwala na pracę z dowolnego miejsca w Polsce.
Benefity
Great Place to Work
Stabilna sytuacja finansowa
Kontrakty z globalnymi markami
Centrum szkoleń wewnętrznych
Wielu ekspertów, od których możesz się uczyć
Otwarty i dostępny zarząd
Profit sharing
Program Sponsoringu Pasji
Cykliczne imprezy i wyjazdy integracyjne
Komfortowe i dobrze wyposażone biura
Aplikacja MySii
Opieka medyczna
Wymagania
Minimum 5 lat doświadczenia w tworzeniu oprogramowania ze szczególnym uwzględnieniem Rust i C++
Głęboka wiedza na temat niebezpiecznego kodu, granic FFI oraz migracji zapewniających bezpieczeństwo pamięci
Solidne zrozumienie bezpieczeństwa pamięci, stabilności wskaźników oraz interoperacyjności międzyjęzykowej
Doświadczenie z Bazel/Blaze oraz zarządzaniem zależnościami
Silne umiejętności debugowania w obszarze pamięci, testowania oraz problemów specyficznych dla platformy i budowy
Umiejętność efektywnej komunikacji z interesariuszami i uzasadniania zmian wynikających z wymagań bezpieczeństwa
Język angielski na poziomie zaawansowanym
Zakres obowiązków
Migracja starszych bibliotek C/C++ do bezpiecznych pamięciowo odpowiedników w Rust
Tworzenie i utrzymywanie bezpiecznych shimów C++ oraz wrapperów FFI w Rust
Przeprowadzanie dużych refaktoryzacji i aktualizacji zależności w wielu celach
Wykonywanie testów różnicowych, walidacji oraz testów integracyjnych na dużą skalę
Ocena kompromisów między wydajnością a bezpieczeństwem oraz dostarczanie rekomendacji opartych na danych dla interesariuszy
Zarządzanie zależnościami międzyzespołowymi i wąskimi gardłami w przeglądach
Strukturyzowanie migracji w małe, możliwe do przeglądu partie w celu usprawnienia zatwierdzeń i zmniejszenia liczby błędów