← к выдаче
разработка

Senior Rust Developer — Qt Bridge for Rust

Wrocław27 дн. назад

Коротко

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