Embedded Software Engineer

Red Sky Engineering LLC
Spanish Fork, UT, United States
2 months ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
2 years minimum
Compensation
$110,000.0 - $165,000.0
Working hours
Regular working hours
Job source

Tech stack

Board Bringup C (Programming Language) Automation of Tests C++ (Programming Language) Command-Line Interface Code Review Computer Engineering Software Debugging Linux Linux on Embedded Systems Embedded Software FreeRTOS
+24 more
Iterative and Incremental Development Integrated Development Environments Joint Test Action (IEEE Standards) Python (Programming Language) Linux System Administration Object-Oriented Software Development Software Architecture Real-Time Operating Systems Software Engineering Software Systems Toolchain Universal Asynchronous Receiver/Transmitter USB Scripting Serial Peripheral Interface PIC Microcontroller State Machines Git Build Management Linux Development Information Technology Bare Metal Build Tools Docker

Job description

The Embedded Software Engineer will be responsible for developing high quality software solutions for small, unmanned aircraft systems and related peripherals and accessories. The role involves working across diverse software architectures and hardware platforms, including STMicroelectronics microcontrollers, NVIDIA platforms, bare-metal environments, real-time operating systems (RTOS), and embedded Linux systems. This position includes implementing algorithms and state machines as well as leading small to medium development efforts with cross-functional engineering teams. Prior experience with low level embedded systems, hardware, and Linux is required., * Develop low-level embedded software for bare-metal, RTOS, and Linux-based systems

  • Work on projects using C, C++, and Python within a Linux development environment
  • Create prototypes to explore 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 using tools such as logic analyzers and oscilloscopes
  • Troubleshoot and solve software challenges across a variety of 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

Do you have experience in Technical troubleshooting support?, Do you have a Bachelor’s degree?, * 2+ years of experience 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, including experience with 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 (e.g., 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

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, * Bachelor’s (Preferred)

Experience:

  • delivering commercial-grade software for embedded systems: 2 years (Required)

Benefits & conditions

Pulled from the full job description

  • Health insurance
  • Paid time off
  • Dental insurance, * Dental insurance
  • Health insurance
  • Paid time off

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on indeed.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

5:35 min

Direct hardware communication using the Web USB API

Rowdy Rabouw Rowdy Rabouw · WWC 2025

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · WWC 2025

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

2:39 min

Experiencing core Linux capabilities for DevOps administration

Michael Cade · LIVE

2:55 min

Bidirectional hardware communication using the web USB API

George Cave · WWC 2023

Videos

See all

Related articles

See all