Senior Rust Developer — Qt Bridge for Rust
Коротко
Designs, implements, and hardens the Qt Bridge for Rust library, contributing production-quality Rust code, working on object-model, memory-safety · Needs: B2B contract for at least 6 months; fully remote.
Описание от работодателя
About the role Qt Bridge for Rust lets developers build Qt Quick / QML user interfaces with a pure-Rust backend — no C++ required. Rust types are exposed to the QML engine through attribute macros that generate the QMetaObject-level plumbing at compile time. The library is built on CXX and CXX-Qt for the C++/Qt interop layer.
You'll join the in-house Qt Bridge for Rust team to help design, implement and harden this library. The team already owns deep Qt platform expertise — the meta-object system, C++/QML engine internals, code generation. What we need from you is Rust expertise: idiomatic API design, the crate ecosystem, procedural macros, and cross-platform build engineering. You don't need to be a Qt expert — being able to read and reason about the C++ layer is enough.
The backlog is public, so you can see exactly what you'd be working on before you apply. Early priorities are object-model / memory-safety work and type-system / macro work.
What's NOT part of this role Changes to Qt itself (qtbase, qtdeclarative) — that's owned by Qt's module teams
Product management, roadmap or release ownership
End-user support or community management
Logistics B2B project-based cooperation
Duration: at least 6 months, option to extend by next 6 months
Start: as soon as possible
Location: fully remote
Process: technical interview (~90 min) covering Rust knowledge and, optionally, QtBridge-specific topics
Daily tasks:
- Contribute production-quality Rust (and, where needed, C++) code, tests and documentation to the QtBridge Rust repository
- Work on object-model, memory-safety, type-system and macro-related issues
- Help design and stabilize a public library API — semver, breaking-change management, deprecation policy
- Contribute to a structured threat analysis / security review of the Rust/C++ FFI surface
- Keep the workspace green across Linux, MSVC and macOS
- Go through code review via Gerrit against the dev branch, working closely with a Qt maintainer
- Keep Jira issues current and communicate daily with the team (chat/e-mail), plus a weekly sync call
What we're looking for Senior-level Rust experience in production: ownership/borrowing, Rc/RefCell/Weak, unsafe and the aliasing rules, Pin, lifetime-parameterised APIs
Rust ↔ C++ FFI experience, ideally with cxx — designing safe Rust wrappers over C++ object lifetimes
Procedural macro development (syn, quote, proc-macro2), with attention to good compile-error diagnostics
Experience designing and stabilizing a public library API — idiomatic Rust, semver, deprecation practices
Cross-platform Rust build engineering (build.rs, linking native libraries on Linux, MSVC, macOS)
Strong testing and quality habits: tests with every change, clean cargo fmt / clippy, documented safety arguments for any unsafe, rustdoc on public API
Comfort with threat modelling / security review for systems-level, memory-unsafe-adjacent code
Working knowledge of Qt 6 (QObject, properties, signals/slots, QVariant/QMetaType, QML object ownership) and enough C++17 to read/modify the bridge's C++ layer
Comfortable with Gerrit-style, small-commit, review-heavy workflows
Professional written and spoken English
Nice to have Prior contributions to Qt, CXX-Qt, qmetaobject-rs, or similar binding projects
QML / Qt Quick application development experience
Published crates on crates.io
Familiarity with rcc, Qt resource handling, or QML debug/preview protocols
Async Rust (tokio) integrated with a native event loop
Existing Qt Account / Qt Contributor Licence Agreement already signed
Must have: Rust, C++, API, Linux, Testing, Security
Nice to have: Qt, QML