Advisory Software Engineer, Rust
Lenovo · North Carolina, United States · 6 days ago
Engineering$83/hrFull-time
Responsibilities
- Partner closely with model and runtime engineers to align dataset design with inference pipelines, orchestration frameworks, and execution environments across device and backend systems.
- Design and build modular, reusable Rust components (crates, libraries, services) using strong typing, trait-based abstractions, and clear interface boundaries to support on-device AI runtimes and hybrid agent orchestration.
- Implement low-latency, memory-efficient runtime components leveraging idiomatic Rust patterns (ownership, borrowing, async/await with tokio), ensuring safe concurrency and predictable execution in constrained environments.
- Define clean, strongly-typed APIs and contracts (avoiding unsafe patterns like void pointers or untyped interfaces), enabling composability and long-term maintainability across runtime and backend systems.
- Build portable Rust applications that run efficiently across edge devices and backend systems, optimizing for binary size, startup time, and resource utilization.
- Integrate structured logging, metrics, and tracing (e.g., tracing crate) into runtime components to ensure visibility into system behavior and support debugging and performance tuning.
- Develop integration layers for hybrid agent orchestration, including async task coordination, plugin-like extensibility, and safe interaction across system boundaries (e.g., FFI, IPC, or service interfaces).
- Work closely with other teams including developers, product teams and business leaders to understand their data requirements, and roadmap engineering tasks in project management software.
- Create and maintain clear and concise documentation for data pipelines, data quality checks, and data governance procedures.
- Running on device machine learning models for applications using common runtimes (ONNX, LiteRT, Etc).
Qualifications
- Education: Bachelor's in Computer Science, or a related field.
- Experience: 8+ years of experience in a software engineering roles.
- Programming Skills: Mastery in Rust with proficiency in other languages as required (e.g. C++, Python, Kotlin, Java, terraform, SQL, etc).
- Communication Skills: Excellent written and verbal communication skills, with the ability to explain complex technical concepts to both technical and non-technical audiences.
- Leadership Experience: Strong prior experience leading teams of cross functional engineers in an Agile environment.