Senior Rust Developer – Qt / C++ / FFI

Warszawa
130-150 złbrutto / mies.
Oferta wygasa za:90 dni
Tryb pracyZdalna
Rodzaj umowyKontrakt B2B
Tryb rekrutacjiRekrutacja stacjonarna
Wymiar etatuPełny etat

About the project

Long-term project focused on developing production-grade solutions combining Rust, C++ and Qt 6.

Main focus on developing high-quality Rust code, with emphasis on object models, memory safety, type systems, procedural macros, and safe APIs across the Rust/C++ boundary.

Team works with a public backlog, tasks assigned issue by issue and re-planned on a sprint basis.

Opportunity to work on challenging systems-level problems in a review-driven engineering environment.

Initial priorities include object model and memory-safety work, type-system development, procedural macros, Rust/C++ FFI, public API design and stabilisation.

Your responsibilities

  • Develop production-quality Rust code and, where required, C++ code.
  • Design and maintain idiomatic, safe Rust APIs.
  • Build safe Rust wrappers around existing C++ functionality.
  • Work with Rust ↔ C++ FFI, ideally using cxx.
  • Develop and maintain procedural macros using syn, quote and proc-macro2.
  • Provide high-quality compile-time diagnostics for procedural macros.
  • Work with ownership, lifetimes and object lifetime management across the Rust/C++ boundary.
  • Design and stabilise public library APIs, taking into account semver, deprecations and breaking changes.
  • Maintain cross-platform Rust builds across Linux, Windows/MSVC and macOS.
  • Write tests alongside every change.
  • Maintain documentation and rustdoc for public APIs.
  • Participate in code reviews using Gerrit.
  • Follow a small-commit, review-heavy development workflow.
  • Contribute to security reviews and threat modelling for a systems-level library.
  • Analyse memory-safety and trust-boundary risks across the Rust/C++ FFI surface.
  • Collaborate with the team responsible for the Qt/C++ layer.

Our requirements

  • Senior-level professional experience with Rust, including strong knowledge of ownership and borrowing, Rc, RefCell, Weak, unsafe and Rust aliasing rules, Pin, lifetime-parameterised APIs.
  • Hands-on experience with Rust/C++ FFI, preferably using cxx.
  • Experience designing safe Rust abstractions and wrappers over C++ code, including object lifetime management.
  • Practical experience with procedural macros, including syn, quote and proc-macro2.
  • Experience designing and maintaining public Rust library APIs.
  • Strong understanding of semver, breaking-change management and deprecation strategies.
  • Experience with cross-platform Rust build engineering, including build.rs, linking against native libraries, Linux, Windows/MSVC, macOS.
  • Strong engineering and quality discipline: tests with every change, cargo fmt clean, no new Clippy warnings, documented safety rationale for any new unsafe code, rustdoc for all public APIs.
  • Experience with threat modelling and security reviews for systems-level software.
  • Ability to reason about memory safety and trust boundaries across Rust/C++ FFI.
  • Working knowledge of Qt 6, including QObject, properties, signals/slots, QVariant, QMetaType, QML object ownership.
  • C++17 knowledge sufficient to read and modify the bridge layer.
  • Comfortable working with Gerrit, small commits and review-heavy development processes.
  • Professional written and spoken English.
  • Previous contributions to Qt, CXX-Qt, qmetaobject-rs or similar binding projects.
  • QML / Qt Quick application development experience.
  • Experience publishing and maintaining crates on crates.io.
  • Knowledge of rcc and Qt resource handling.
  • Experience with QML debug/preview protocols.
  • Experience with async Rust / Tokio integrated with a native event loop.
  • Existing Qt Account and signed Qt Contributor Licence Agreement.

Benefity

Karta sportowa
Prywatna opieka medyczna
Zainteresowała Cię ta oferta?Aplikuj na to stanowisko!
Klauzula informacyjna
130-150 złbrutto / mies.

Oferty wybrane dla Ciebie

Oferty wybrane dla Ciebie