Shift5 is redefining the future of onboard operational technology (OT) by specializing in cutting-edge cybersecurity, predictive maintenance, and compliance for OT systems across defense, aerospace, and rail. The company aims to unlock and democratize onboard OT data to help customers' fleets run smarter, safer, and more efficiently.
Requirements
- Experience with systems programming languages: C, C++, or Rust (preferred)
- Experience with scripting languages: Python, Bash, etc.
- Experience with tooling to build custom embedded Linux distributions: Yocto, Buildroot
- Experience with Git or similar version control, and CI/CD automation
- Experience with low-level software and firmware debugging tools: GDB, JTAG
- Experience with Linux kernel driver development is a plus
- Familiarity with oscilloscopes and FPGA internal logic analyzers is a plus
Responsibilities
- Develop, optimize, and maintain real-time embedded software for custom Linux-based hardware platforms
- Design and implement low-level hardware interface layers: memory-mapped register access, DMA transfer, and efficient hardware/software communication protocols
- Write and maintain Linux kernel drivers and userspace APIs for custom hardware, ensuring robust integration and performance
- Profile, analyze, and tune embedded software for low-latency, high-throughput, high-reliability data acquisition and processing
- Investigate hardware, firmware, and software issues and understand the interactions between each layer
- Write comprehensive unit, functional, and integration tests
- Document designs, data flows, hardware and software interfaces
Other
- BS or MS in Computer Science, Computer Engineering, Electrical Engineering, or related field
- 3+ years of experience in embedded systems / low-level software development
- Lead and participate in rigorous code review and hardware/software interface specification processes
- Support bring-up and troubleshooting of new hardware platforms, including board-level debugging with oscilloscopes and logic analyzers
- Collaborate closely with hardware, FPGA, and data analytics teams to define requirements and deliver end-to-end solutions