embedded systems engineer
Shotover Systems
About the role
About
SHOTOVER Systems, headquartered in beautiful Boulder, CO, designs and builds high‑end gyro‑stabilized airborne cameras for blockbuster movies as well as augmented reality software and hardware solutions used by the military, television stations, and firefighters around the world. We were doing AR before AR was cool, have bootstrapped to 80 employees, are profitable and growing.
Job Overview
If you like aircraft and high‑tech stuff, you’ll love what we do! We work with the latest in video, sensing, and computing technologies to build amazing, stabilized camera systems. We are looking for an experienced embedded systems engineer to work closely with our design teams as we prototype and develop new products. The ideal candidate will have a strong background with a wide breadth of responsibilities: Linux‑based user space and kernel space, as well as common open source Linux tools. You will work closely with cross‑functional teams to design, develop, and optimize firmware solutions for our hardware platforms, ensuring reliability, performance, and compatibility. Things never get boring so expect to have new challenges and tasks every week!
Responsibilities
- Maintain and extend an embedded Linux‑based OS
- Design, develop and maintain a C++ application that runs on Linux
- Work on continuous integration/automation/packaging for applications targeting Linux
- Create Linux packages that contain software and OS configuration
- Implement Linux kernel space device drivers and write device trees for custom boards
Required Skills
- Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or related field, or equivalent experience
- 3+ years experience in C++ programming language, preferably on embedded systems
- 3+ years experience in Linux software development, preferably in embedded systems
- Proficiency with writing Linux device drivers and device trees, as well as building and configuring the kernel
- Knowledge of version control systems (e.g., Git) and build tools (e.g., Make, CMake)
- Experience with Security Compliance (e.g., STIGs)
- Excellent problem‑solving skills and attention to detail
Desired Skills
- Knowledge of networking protocols and communication interfaces (e.g., Ethernet, UART, SPI, I2C)
- Knowledge of MIPI and SDI camera interfaces
- Familiarity with systemd
- Familiarity with the .deb packaging format and Ubuntu
- Familiarity with ARM architecture and ARM‑based SoCs
- Familiarity with Nvidia Jetson embedded systems
- Proficiency with the Rust programming language
Benefits
- Health, dental, vision, and life insurance
- 401(k)
- Paid Time Off
Work Authorization
- U.S. Citizenship, Permanent Residency, or other protected status under 8 U.S.C. 1324b(a)(3) is required for this position.
- A background check is required as part of our hiring process.
Requirements
- 3+ years experience in C++ programming language, preferably on embedded systems
- 3+ Experience in Linux software development, preferably in embedded systems
- Proficiency with writing Linux device drivers and device trees, as well as building and configuring the kernel
- Knowledge of version control systems (e.g., Git) and build tools (e.g., Make, CMake)
- Experience with Security Compliance (e.g. STIGs)
- Excellent problem-solving skills and attention to detail
Responsibilities
- Maintain and extend an embedded Linux-based OS
- Design, develop and maintain a C++ application that runs on Linux
- Work on continuous integration/automation/packaging for applications targeting Linux
- Create Linux packages that contain software and OS configuration
- Implement Linux kernel space device drivers and write device trees for custom boards
Benefits
Skills
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free