Staff Embedded Linux Software Engineer

SirenOpt•San Leandro, CA
•$180,000 - $240,000•Onsite

About The Position

SirenOpt is seeking a Staff Embedded Linux Software Engineer to join its small firmware team developing the embedded software stack for a commercial bench-top scientific instrument. The platform is an AMD/Xilinx FPGA SoC (Zynq / UltraScale+) running PetaLinux, with userspace applications, device drivers, and real-time control interfacing with custom programmable logic. The engineer will share responsibility for the Linux application workload, own test automation infrastructure, and establish CI and build reliability. The role involves writing production code and the tooling used to validate it, collaborating with an embedded systems architect, and contributing to architecture, documentation, and design reviews. This documentation-driven team tracks work in Jira and Confluence and follows a sequenced release cadence from HDL through OS and drivers, embedded applications, and system integration. Work combines lab time with prototype hardware and desk-based software development.

Requirements

  • B.S., M.S., or PhD in Electrical Engineering, Software Engineering, or a related field, with 10+ years of relevant industry experience.
  • Experience with C for embedded Linux userspace, including threading, IPC, and POSIX APIs.
  • Python experience for test automation using pytest or an equivalent framework, and scripted instrumentation.
  • Linux TCP/IP socket programming, including non-blocking I/O, connection lifecycle, and streaming.
  • UDP experience for discovery and lightweight telemetry.
  • Experience with UART, SPI, I2C, and CAN bus and serial protocols.
  • RS-232 and RS-485 experience, including byte-level protocol implementation such as framing, CRC, state machines, and multi-device arbitration.
  • Hardware bring-up and board-level debugging using oscilloscopes, logic analyzers, and protocol analyzers.
  • Experience with producer-consumer and ring-buffer patterns for real-time data flow.
  • Hardware-in-the-loop test development and execution.

Nice To Haves

  • Linux DMA programming, including scatter-gather, buffer pool management, and AXI-DMA.
  • CI/CD tooling experience, such as Jenkins, GitLab CI, GitHub Actions, and Docker-based build environments.
  • Yocto or PetaLinux BSP experience.
  • C unit test frameworks, such as gtest, cmocka, or Unity.
  • Familiarity with FPGA register interfaces, including UIO, devmem, and register maps.
  • Performance profiling and network analysis experience, including Wireshark and throughput characterization.
  • Python GUI development for test or operator tooling, such as Tkinter or PyQt.
  • Familiarity with scientific or process-control instrumentation.

Responsibilities

  • Develop embedded Linux application software in C for userspace and POSIX environments.
  • Develop userspace and kernel-space drivers for internal and external devices, including sensors, actuators, and instruments.
  • Implement and extend application-level command, control, and data protocols over TCP/IP.
  • Implement communication drivers for industrial instruments over serial and CAN interfaces.
  • Design, build, and maintain hardware-in-the-loop automated test systems.
  • Develop host-side test tools, including Python GUIs, emulators, and scripted instrument drivers.
  • Establish and maintain CI/CD pipelines and reproducible build infrastructure.
  • Participate in hardware bring-up, board-level validation, and lab bench debugging.
  • Contribute to architecture decisions, documentation, and design reviews.
  • Write clear design documentation and track progress in Jira and Confluence.

Benefits

  • Equity and salary compensation depending on experience.
  • Health, dental, and vision plans.
  • 401(k) matching.
  • 20 days of PTO per year.
  • Approximately 15 paid U.S. holidays per year.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service