Embedded Software Engineer
Listed on 2026-09-20
-
Software Development
Embedded Systems/ Firmware/ IoT, Embedded Software Engineer, C++ Developer, Software Engineer
About Sine Engineering
Sine Engineering builds the technology behind reliable drone autonomy: communications, navigation, and control systems that enable coordinated multi-drone operations e than 200 UAV manufacturers rely on our technologies, and our solutions power many of the interceptor operations active today.
Through our dual-use platform, we support civilian innovation while helping democratic nations strengthen their technological advantage.
Any drone. Any scale. Anywhere.
We build resilient communication, navigation, and coordination systems for the age of autonomy.
We are seeking an experienced Embedded Software Engineer to join our growing engineering team. In this role, you will design and develop embedded software and firmware for advanced unmanned systems, working on technologies that power communications, navigation, control, and autonomy at scale.
Key ResponsibilitiesDesign 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 (HALs), board support packages (BSPs), 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 closely with hardware, systems, application software, product, and test teams to deliver robust and maintainable solutions.
Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, Electronics Engineering, or a related technical field. Equivalent practical experience may be considered.
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. Experience with ARM microcontrollers is strongly preferred.
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. Experience with RTP, MAVLink, or similar telemetry and video protocols is a plus.
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…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).