- Permanent
Role Overview
Role_scope — seeking a Software Engineer with strong Rust expertise and hands‑on embedded systems experience to support full‑stack development across low‑level device integration and higher‑level application interfaces
Cross_stack_work — contributes to embedded Rust development, gateware‑adjacent integration, system APIs, and occasional frontend tooling
Team_collaboration — works closely with hardware, firmware, and application teams to build reliable, high‑performance systems
Physical_systems_exposure — experience with scientific instrumentation or physical systems is helpful but not required
Job Responsibilities
Integrated_development — collaborates with hardware engineers, physicists, and software developers to deliver fully integrated product solutions
Documentation_standards — maintains clear documentation of designs, workflows, and processes aligned with internal and regulatory requirements
Rust_middleware — contributes to Rust‑based middleware and driver software supporting device control
Driver_development — partners with hardware and FPGA teams to build software drivers and embedded interfaces
System_APIs — develops and maintains system‑level APIs and communication layers
Frontend_support — assists with frontend development for tooling, visualization, and user interfaces when needed
Code_quality — writes clean, well‑tested, well‑documented code
Technical_reviews — participates in code reviews and design discussions
Qualifications
Education_background — bachelor’s degree in computer science, electrical/computer engineering, or related field (or equivalent experience)
Rust_experience — minimum 5 years of industry experience developing in Rust
Embedded_experience — exposure to embedded software development using Rust and/or C++
Gateware_knowledge — working familiarity with gateware development and hardware/software integration, including FPGA‑based systems
Frontend_exposure — experience with JavaScript/TypeScript, React, or similar frameworks
Embedded_Linux — strong background in developing and debugging embedded Linux environments
Communication_interfaces — familiarity with SPI, I²C, UART, PCIe, Ethernet, and other system‑level interfaces
Systems_programming — solid understanding of memory safety, concurrency, and performance
Nice to Have
High_reliability_systems — background in high‑reliability or performance‑critical environments
WASM_knowledge — experience with WebAssembly and Rust‑based frontend frameworks
RTOS_experience — familiarity with RTOS and bare‑metal development
Control_system_architecture — demonstrated experience architecting embedded control systems and integrating them with hardware platforms