Company:Shift5
Location:United States
Languages:English
Seniority level:Middle, 3+ years
Experience:3+ years
Skills:PythonSoftware DevelopmentBashEmbedded SystemsGitC++RustCI/CDLinux
- BS or MS in Computer Science, Computer Engineering, Electrical Engineering, or related field
- 3+ years of experience in embedded systems / low-level software development
- 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
- 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
- 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
- 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