Embedded Software Engineer

Red Sky Engineering LLC
Spanish Fork, United States of America
1 month ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate
Compensation
$ 165K

Job location

Spanish Fork, United States of America

Tech stack

Board Bringup
C
Automation of Tests
C++
Command-Line Interface
Code Review
Computer Engineering
Software Debugging
Linux
Linux on Embedded Systems
Embedded Software
FreeRTOS
Iterative and Incremental Development
Integrated Development Environments
Joint Test Action (IEEE Standards)
Python
Linux System Administration
Object-Oriented Software Development
Software Architecture
Real-Time Operating Systems
Software Engineering
Software Systems
Toolchain
Universal Asynchronous Receiver/Transmitter
USB
Scripting (Bash/Python/Go/Ruby)
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