Shift5 is redefining the future of onboard operational technology (OT) with a focus on cybersecurity and compliance for OT systems across various industries. They are seeking an experienced Software Engineer specializing in Rust to develop high-performance software for real-time data processing on custom Linux systems, ensuring maximum performance and reliability while collaborating with cross-functional teams.
Responsibilities:
- Develop and optimize high-performance Rust software for real-time data processing on custom, resource-constrained Linux systems
- Design and implement type-safe hardware abstractions, managing complex build dependencies and FFI boundaries with memory safety
- Build and maintain code generation pipelines for protocol specifications and translation tables into strongly-typed Rust structures
- Implement robust and efficient parsers for complex wire protocols, working at the bit level for accurate data models
- Optimize software for specific hardware capabilities using deep Linux systems knowledge, profiling, and metrics
- Design and implement concurrent data pipelines with message-passing architectures and lock-free data structures
- Investigate and debug complex issues across hardware, protocol specifications, FFI, and concurrent timing
- Write comprehensive unit, functional, and integration tests for protocol parsing, data processing, and hardware integration
- Document designs, data flows, architectural decisions, and safety-critical code patterns
- Integrate with existing C-based APIs and libraries using Rust's FFI, including CMake, autotools, and bindgen
- Evolve and maintain core processing software for long-term stability, performance, and adaptability
- Collaborate effectively with cross-functional teams, including hardware and API/UI engineers, forward deployed engineers embedded with customers, security researchers, data engineering and analytics, and product and program managers
Requirements:
- U.S. Citizenship is required
- Ability to obtain and maintain a U.S. Government Security Clearance
- BS or MS in Computer Science, Computer Engineering, or related field, or equivalent experience
- Prior work on a shipped, commercial Rust project in production
- Deep knowledge of Linux systems programming, including kernel interaction, hardware optimization, and system-level debugging
- Proficiency with Git and modern CI/CD practices
- Strong communication skills for technical documentation and stakeholder communication
- Ability to identify and advocate for architectural improvements and shape technical direction
- Demonstrated ability to work independently and take ownership of complex technical challenges
- Strong understanding of data structures and algorithms for high-performance, real-time systems
- Active U.S. Government Security Clearance (Secret or higher)
- Previous experience with military customers or classified data environments
- Experience writing software certified under regulatory requirements (DO-178, IEC 62304, or similar)
- A forward and reverse engineering mindset for undocumented or complex data protocols
- Familiarity with vehicle, aerospace, or industrial data protocols (e.g., CAN, J1939, MIL-STD-1553, ARINC-429)
- Experience with lock-free data structures or real-time systems programming
- Background in code generation, metaprogramming, or build-time code generation systems, with an understanding of their appropriate application and potential complexities
- Experience designing data processing pipelines with streaming, batching, and backpressure management
- Experience with containerization (e.g., Docker, Kubernetes) for consistent build and test environments
- Experience developing and servicing software in sensitive environments