Embedded Software Engineer

Sine Engineering•Bozeman, MT

About The Position

Sine Engineering is seeking an experienced Embedded Software Engineer to join its growing engineering team. The role designs and develops embedded software and firmware for advanced unmanned systems, supporting communications, navigation, control, and autonomy. The engineer will develop high-performance, real-time software for microcontrollers and embedded Linux systems, integrate software with hardware and third-party systems, and collaborate across engineering teams to deliver robust, maintainable solutions.

Requirements

  • Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, Electronics Engineering, or a related technical field; equivalent practical experience may be considered.
  • At least 3 years of professional experience developing embedded software, firmware, or low-level systems software.
  • Strong proficiency in C and C++, including memory management, data structures, concurrency, and performance-focused development for resource-constrained systems.
  • Hands-on experience developing bare-metal and/or RTOS-based firmware.
  • Solid understanding of modern microcontroller architectures and peripherals, including interrupts, timers, DMA, ADC/DAC, watchdogs, memory management, and boot processes.
  • Experience developing and debugging software on embedded Linux systems, including processes and threads, device I/O, networking, cross-compilation, and command-line development workflows.
  • Practical experience with embedded communication interfaces, including SPI, I2C, UART, CAN, USB, and Ethernet.
  • Working knowledge of network communication protocols such as TCP/IP and UDP.
  • Strong troubleshooting and debugging skills using tools such as GDB, JTAG/SWD debuggers, logic analyzers, oscilloscopes, and software logging/tracing tools.
  • Ability to read and interpret schematics, datasheets, interface control documents, and technical specifications to support hardware and software integration.
  • Experience with Git-based version control, code reviews, build systems such as CMake and Make, and producing clear technical documentation.

Nice To Haves

  • Experience with ARM microcontrollers.
  • Experience with RTP, MAVLink, or similar telemetry and video protocols.
  • Experience developing or integrating software for UAVs, robotics, aerospace, or other autonomous systems.
  • Familiarity with flight-control ecosystems and protocols such as PX4, ArduPilot, MAVLink, or similar platforms.
  • Experience with embedded Linux BSPs, device trees, Linux device drivers, Yocto, Buildroot, or similar embedded Linux environments.
  • Experience with cryptography and embedded cybersecurity concepts, including secure boot, authentication, key management, signed firmware, and secure communications.
  • Working knowledge of RF communication systems, telemetry links, video transmission, and link budget analysis.
  • Familiarity with ARM assembly programming, low-level optimization, bootloaders, firmware update mechanisms, and field deployment of embedded systems.

Responsibilities

  • Design and develop embedded software and firmware for high-performance, real-time systems using microcontrollers and embedded Linux SoMs.
  • Implement new functionality and enhance existing software supporting unmanned systems control, telemetry, video, communications, and navigation.
  • Develop and maintain low-level drivers, hardware abstraction layers, board support packages, and interfaces for sensors, radios, payloads, and other peripherals.
  • Integrate embedded software with hardware and third-party systems, including flight controllers, payloads, sensors, SDKs, and APIs.
  • Develop and maintain communication interfaces and protocols using SPI, I2C, UART, CAN, USB, Ethernet, and IP-based networking.
  • Optimize software for latency, processor utilization, memory usage, power consumption, reliability, and real-time performance.
  • Develop and execute unit, integration, bench, and system-level tests; analyze logs and telemetry to validate performance and identify defects.
  • Troubleshoot complex issues across embedded software, firmware, hardware, and system interactions, and perform root-cause analysis.
  • Collaborate with hardware, systems, application software, product, and test teams to deliver robust and maintainable solutions.

Benefits

  • 15 days of paid vacation annually.
  • 5 personal/sick days per year.
  • Leave accrues on a pro-rata basis from the start date.
  • Eligibility to participate in the company's standard health, dental, and 401(k) plans, subject to plan terms and eligibility requirements.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service