Free cookie consent management tool by TermsFeed Generator Senior Rust Developer
Image
Image

Senior Rust Developer

Poland

Posted 21 hours ago

Work Type

Contract

Salary/Rate

zł 130-150 per hour

Remote Work

Yes

IR35 Status

Not Applicable

We are looking for a Senior Rust Developer to join a long-term project focused on developing production-grade solutions combining Rust, C and Qt 6.
The main focus of the role will be on developing high-quality Rust code, with particular emphasis on object models, memory safety, type systems, procedural macros, and safe APIs across the Rust/C boundary.
|The team works with a public backlog, with tasks assigned issue by issue and re-planned on a sprint basis. The role offers the opportunity to work on challenging systems-level problems in a review-driven engineering environment.

The initial priorities will include:

  • Object model and memory-safety work
  • Type-system development
  • Procedural macros
  • Rust/C FFI
  • Public API design and stabilisation

Responsibilities:

  • Develop production-quality Rust code and, where required, C code
  • Design and maintain idiomatic, safe Rust APIs
  • Build safe Rust wrappers around existing C functionality
  • Work with Rust ↔ C FFI, ideally using cxx
  • Develop and maintain procedural macros using syn, quote and proc-macro2
  • Provide high-quality compile-time diagnostics for procedural macros
  • Work with ownership, lifetimes and object lifetime management across the Rust/C boundary
  • Design and stabilise public library APIs, taking into account semver, deprecations and breaking changes
  • Maintain cross-platform Rust builds across Linux, Windows/MSVC and macOS
  • Write tests alongside every change
  • Maintain documentation and rustdoc for public APIs
  • Participate in code reviews using Gerrit
  • Follow a small-commit, review-heavy development workflow
  • Contribute to security reviews and threat modelling for a systems-level library
  • Analyse memory-safety and trust-boundary risks across the Rust/C FFI surface
  • Collaborate with the team responsible for the Qt/C layer

Requirements:

Must-have

  • Senior-level professional experience with Rust, including strong knowledge of: ownership and borrowing, Rc, RefCell, Weak, unsafe and Rust aliasing rules, Pin, lifetime-parameterised APIs
  • Hands-on experience with Rust/C FFI, preferably using cxx
  • Experience designing safe Rust abstractions and wrappers over C code, including object lifetime management
  • Practical experience with procedural macros, including syn, quote and proc-macro2
  • Experience designing and maintaining public Rust library APIs
  • Strong understanding of semver, breaking-change management and deprecation strategies
  • Experience with cross-platform Rust build engineering, including:
    • build.rs,
    • linking against native libraries,
    • Linux,
    • Windows/MSVC,
    • macOS.
  • Strong engineering and quality discipline:
    • tests with every change,
    • cargo fmt clean,
    • no new Clippy warnings,
    • documented safety rationale for any new unsafe code,
    • rustdoc for all public APIs.
  • Experience with threat modelling and security reviews for systems-level software
  • Ability to reason about memory safety and trust boundaries across Rust/C FFI
  • Working knowledge of Qt 6, including:
    • QObject,
    • properties,
    • signals/slots,
    • QVariant,
    • QMetaType,
    • QML object ownership.
  • C 17 knowledge sufficient to read and modify the bridge layer
  • Comfortable working with Gerrit, small commits and review-heavy development processes
  • Professional written and spoken English

Nice to have:

  • Previous contributions to Qt, CXX-Qt, qmetaobject-rs or similar binding projects
  • QML / Qt Quick application development experience
  • Experience publishing and maintaining crates on crates.io
  • Knowledge of rcc and Qt resource handling
  • Experience with QML debug/preview protocols
  • Experience with async Rust / Tokio integrated with a native event loop
  • Existing Qt Account and signed Qt Contributor Licence Agreement

Our Offer:

  • Location: 100% Remote
  • Start date: As soon as possible
  • Project duration: 6 months, with the possibility of extension for another 6 months
  • Rate: up to PLN 150/hour
  • Working hours: Remote
  • Own equipment
  • Access to Medicover Zdrowie and Medicover Sport cards