Spyrosoft

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

3 h ago
Remote rust Senior (5-10 yrs) Full-time Poland
Create a free account to apply — email only, no card. You can also save this posting or score it against your profile with AI.

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

Rust C++ Qt QML FFI Procedural macros API design Memory safety Cross-platform build engineering Linux MSVC macOS Gerrit Semver Systems programming

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