Staff Embedded Linux Software Engineer

SirenOpt•San Leandro, CA
•Onsite

About The Position

SirenOpt is seeking a Staff Embedded Linux Software Engineer to join its small, high-impact firmware team, building 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 role’s core mandate is to share the Linux application workload, own test automation infrastructure, and establish CI/build reliability. It combines production software development with tooling that verifies the software, and includes hands-on lab work with prototype hardware alongside desk-based development. The team follows a sequenced release cadence (HDL → OS/drivers → embedded applications → system integration). The engineer will work alongside an embedded systems architect who owns the Linux application layer, peripheral subsystems, protocol design, and hardware integration. The team is documentation-driven and uses Jira and Confluence to track work.

Requirements

  • Bachelor’s, master’s, or PhD in Electrical Engineering, Software Engineering, or a related field.
  • 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.
  • TCP/IP socket programming on Linux, 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 experience 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 experience.

Nice To Haves

  • Linux DMA programming, including scatter-gather, buffer pool management, and AXI-DMA.
  • Experience with CI/CD tooling such as Jenkins, GitLab CI, GitHub Actions, and Docker-based build environments.
  • Yocto or PetaLinux BSP experience.
  • Experience with C unit test frameworks such as gtest, cmocka, or Unity.
  • Familiarity with FPGA register interfaces such as UIO, devmem, and register maps.
  • Performance profiling and network analysis experience, including Wireshark and throughput characterization.
  • Python GUI development for test or operator tooling, using 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 (HIL) automated test systems.
  • Develop host-side test tooling, 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

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