DeveloperJobs.io
← Back to all jobs

Job Description

Embedded Software Engineer for small unmanned aircraft systems, developing low-level embedded software across bare-metal, RTOS, and Linux using C/C++ and Python, while leading small to mid-size development efforts with cross-functional teams.

Responsibilities

  • Create low-level embedded software for bare-metal, RTOS, and Linux-based systems
  • Contribute on projects using C, C++, and Python within Linux development environments
  • Build prototypes to test new concepts and support iterative development cycles
  • Design and implement core algorithms and state machines
  • Develop software for a range of embedded devices running Linux, RTOS, or bare-metal environments, including cameras and sensor systems
  • Perform low-level debugging with tools such as logic analyzers and oscilloscopes
  • Troubleshoot and resolve software challenges across diverse use cases
  • Provide technical leadership on small-to-medium sized projects or features, including design documentation, testing, code reviews, and collaboration with product and project managers

Requirements

  • At least 2 years delivering commercial-grade software for embedded systems
  • Bachelor's or advanced degree in Computer Science, Electrical Engineering, Computer Engineering, or a related field
  • Strong proficiency in C and/or C++ for embedded systems, with experience in object-oriented and modern C++ development practices
  • Experience developing software for bare-metal, RTOS, or lightweight embedded Linux environments
  • Hands-on experience with board bring-up, peripheral integration, and low-level hardware interaction
  • Proficiency with debugging tools such as logic analyzers, oscilloscopes, and in-circuit debuggers (SWD/JTAG)
  • Experience with ARM-based microcontrollers such as STM32 or similar embedded platforms
  • Familiarity with common embedded communication interfaces (I2C, SPI, UART, USB, etc.)
  • Ability to design and troubleshoot algorithms, state machines, and real-time behaviors
  • Experience working in Linux-based development environments with Git, build systems, and command-line workflows

Technologies

  • STMicroelectronics microcontrollers (STM32)
  • NVIDIA Jetson
  • Bare-metal
  • RTOS
  • Embedded Linux
  • C
  • C++
  • Python
  • Linux development environment
  • Logic analyzers
  • Oscilloscopes
  • I2C
  • SPI
  • UART
  • USB
  • Docker
  • Git
  • FreeRTOS
  • Zephyr
  • NuttX
  • SWD/JTAG

Benefits

  • Dental insurance
  • Health insurance
  • Paid time off

Preferred Qualifications

  • Experience with sensors, cameras, or other embedded peripherals
  • Experience with NVIDIA Jetson or other heterogeneous compute platforms
  • Experience with real-time operating systems such as FreeRTOS, Zephyr, or NuttX
  • Proficiency in Python for tooling, scripting, prototyping, or test automation
  • Experience using Docker as a primary development environment, including containerized toolchains and build environments
  • Familiarity with networking or radio communication systems

Pay

  • USD 110,000 - 165,000 per year

Work Location

  • Spanish Fork, UT (onsite)

Similar Jobs

Get Job Alerts

New jobs delivered to your inbox.