Staff Embedded Linux Software Engineer — Firmware TeamSirenOpt is seeking an Embedded Linux Software Engineer to join a 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 a mix of userspace applications, device drivers, and real-time control interfacing with custom programmable logic.You'll work alongside an embedded systems architect who owns the Linux application layer, peripheral subsystems, protocol design, and hardware integration. Your core mandate is threefold: share the Linux application workload, own test automation infrastructure, and establish CI/build reliability. You'll write production code and the tooling that proves it works.This is a small, documentation-driven team, and you'll be expected to write clear design docs and track progress in Jira/Confluence.
The role combines hands-on lab work with prototype hardware and desk-based software development, following a sequenced release cadence (HDL ? OS/drivers ? embedded applications ? system integration).What You'll DoDevelop embedded Linux application software in C (userspace, POSIX)Develop userspace and kernel-space drivers for internal and external devices (sensors, actuators, instruments)Implement and extend application-level command/control/data protocols over TCP/IPImplement communication drivers for industrial instruments (mass flow controllers, vacuum gauges, motor controllers) over serial and CAN interfacesDesign, build, and maintain hardware-in-the-loop (HIL) automated test systemsDevelop host-side test tooling (Python GUIs, emulators, scripted instrument drivers)Establish and maintain CI/CD pipelines and reproducible build infrastructureParticipate in hardware bring-up, board-level validation, and lab bench debuggingContribute to architecture decisions, documentation, and design reviewsWhat We're Looking ForS., M.S., or PhD in Electrical Engineering, Software Engineering, or a related field, with 10+ years of relevant industry experienceC for embedded Linux userspace, including threading, IPC, and POSIX APIsPython for test automation (pytest or equivalent framework) and scripted instrumentationTCP/IP socket programming on Linux (non-blocking I/O, connection lifecycle, streaming)UDP for discovery and lightweight telemetryBus and serial protocols: UART, SPI, I2C, and CANRS-232 and RS-485, including byte-level protocol implementation (framing, CRC, state machines, multi-device arbitration)Hardware bring-up and board-level debugging using oscilloscopes, logic analyzers, and protocol analyzersProducer-consumer and ring buffer patterns for real-time data flowHardware-in-the-loop test development and executionNice to have:Linux DMA programming (scatter-gather, buffer pool management, AXI-DMA)CI/CD tooling (Jenkins, GitLab CI, GitHub Actions, Docker-based build environments)Yocto or PetaLinux BSP experienceUnit test frameworks for C (gtest, cmocka, Unity)Familiarity with FPGA register interfaces (UIO, devmem, register maps)Performance profiling and network analysis (Wireshark, throughput characterization)Python GUI development for test/operator tooling (Tkinter, PyQt)Familiarity with scientific or process-control instrumentationBase Pay Range $180,000 —$240,000 USDBenefitsEquity and Salary compensation depends on experienceHealth, Dental, Vision plans provided401k matching providedTime off: 20 days of PTO per year, plus approximately 15 paid US holidays per year
Staff Embedded Linux Software Engineer in san leandro at Unknown Company
This position is listed as full time and onsite.