- 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.
- 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.
Optional
- 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.
- 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.
,[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] Requirements: Rust, C++, Git