Software Engineer - Embedded Linux (C++)

Shotover SystemsBoulder, CO

About The Position

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!

Requirements

  • 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+ 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
  • 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.

Nice To Haves

  • 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

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

  • Health/dental/vision/life insurance
  • 401k
  • Paid Time Off
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service