Senior Rust Developer — Qt Bridge for Rust
Spyrosoft Wrocław, Lower Silesian Voivodeship, Poland · PLN 250K–PLN 364K/yr
IT Services and IT Consulting · 1,001-5,000 employees
About the role
You will design, implement, and harden the Qt Bridge for Rust library to enable pure-Rust backends for Qt Quick interfaces. This involves working on object-model, memory-safety, and macro-related issues while maintaining high-quality code across multiple platforms.
What they look for
Requirements
The role requires senior-level Rust expertise, specifically in FFI, procedural macros, and idiomatic API design. Candidates should also have a working knowledge of Qt 6 and enough C++17 proficiency to reason about the bridge's underlying layer.
Full description
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 you'll do
- 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'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
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
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
Similar roles
-
Senior Rust Data Engineer
Nagarro Poland
-
Rust Senior Software Engineer – Bare Metal as a Service & Datacenter Networking
Mirantis Warsaw, Masovian Voivodeship, Poland
-
Senior Rust Systems Engineer – Embedded Proxy & Appliance
Securly Pune City Subdistrict, Maharashtra, India
-
Senior Rust Systems Engineer – Edge Proxy & Fleet
Securly Pune City Subdistrict, Maharashtra, India
-
Senior RUST Systems Engineer - Proxy Appliance
Securly Pune, Maharashtra, India
-
Rust Engineer
JustMarkets Reims, Grand Est, France