Principal Software Engineer - Rust Systems (Burlington)
Summary
Principal engineer builds and integrates Rust shared libraries into a large C-based database engine, replacing legacy components with memory-safe, high-performance Rust code and modern FFI architecture.
Responsibilities
- Integrate Rust (Cargo-based workflows) into the existing CMK (custom Make) build system so Rust shared libraries (.so/.dll) compile, link, and ship alongside 200+ C subsystems across Linux x86_64 and Windows 64-bit
- Design and standardize Rust C FFI architecture, including: Extern C boundary design, Auto-generated C headers (via cbindgen), Error-handling conventions, Memory ownership and lifetime rules
- Establish Rust as a first-class, supportable language within the core database engine
- Design and deliver production-grade Rust shared libraries that replace legacy C implementations, including: Compression: A Rust-based zstd-backed compression library, JSON Parsing: A memory-safe, multi-threaded Rust JSON parser, Avro Serialization: A foundational Avro encode/decode layer
- Own benchmarking, validation, and parity testing to ensure Rust replacements meet or exceed legacy performance and stability
- Architect and lead a Rust-based platform systems layer replacing System V IPC with modern, cross-platform primitives (mmap, POSIX shared memory, futex-style synchronization)
Requirements
- Overall 10+ years of Software Engineering Experience
- Must have 5+ years of production Rust in systems-level software — database engines, OS components, embedded systems, network infrastructure, or similar
- Strong C/C++ background — ability to read, understand, and interface with 10,000+ files of C code daily; you need to think fluently in both languages
- FFI expertise — production experience with Rust C interop: extern C, cbindgen/bindgen, unsafe boundary design, and memory-ownership protocols across language boundaries
- Shipped shared libraries — experience building .so/.dll Rust libraries consumed by C/C++ callers in production environments
- Build system integration — experience integrating Cargo with non-Cargo build systems (Make, CMake, Bazel, or custom frameworks)
- Multi-platform development — Linux x86_64 and Windows 64-bit at minimum
- Experience implementing software using OS fundamentals: file-system and storage management, memory management, virtual memory, process synchronization, and multithreading
- Strong problem analysis and solving skills; works independently and meets tight deadlines
- Excellent verbal and written communication skills in English
- Mentorship / tech-lead experience — you will be training a team, not just writing code
- A degree in Computer Science or equivalent foundational experience covering data structures, algorithms, operating systems, and database fundamentals