remotely.living

Senior Rust Developer — Qt Bridge for Rust

Spyrosoft · Remote - Poland (PL) · 2026-09-09

Apply for this job

Job 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