> Markdown version of [/jobs/ext/4192822-staff-embedded-linux-software-engineer](https://www.wearedevelopers.com/jobs/ext/4192822-staff-embedded-linux-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Staff Embedded Linux Software Engineer - **Company:** SirenOpt Inc - **Location:** San Leandro, CA, United States - **Experience:** Expert - **Salary:** $180,000.0 - $240,000.0 - **Contract:** Permanent contract - **Skills:** Board Bringup, Application Programming Interfaces (APIs), Application Layers, Software Applications, Confluence, JIRA, Automation of Tests, Unit Testing, Network Analysis, Profiling, Communications Protocols, Continuous Integration, Software Debugging, Linux, Device Drivers, Linux on Embedded Systems, Embedded Software, Firmware, Field-Programmable Gate Array (FPGA), Github, Hardware Description Language, Hardware Design, Hardware-In-The-Loop Simulation, Java GUIs, Python (Programming Language), Posix, RS-232, Socket Programming, Software Engineering, Data Streaming, Subsystems, Standard Widget Toolkits, System on a Chip, Systems Integration, TCP/IP, Wireshark, Universal Asynchronous Receiver/Transmitter, Serial Peripheral Interface, State Machines, Build Management, Pytest, Yocto, Gitlab-ci, Production Code, Real Time Data, Docker, Jenkins - **Published:** October 15, 2026 - **Apply:** https://www.indeed.com/viewjob?jk=e39c646cc0b0ca0c ## About the Role * S., M.S., or PhD in Electrical Engineering, Software Engineering, or a related field, with 10+ years of relevant industry experience * C for embedded Linux userspace, including threading, IPC, and POSIX APIs * Python for test automation (pytest or equivalent framework) and scripted instrumentation * TCP/IP socket programming on Linux (non-blocking I/O, connection lifecycle, streaming) * UDP for discovery and lightweight telemetry * Bus and serial protocols: UART, SPI, I2C, and CAN * RS-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 analyzers * Producer-consumer and ring buffer patterns for real-time data flow * Hardware-in-the-loop test development and execution Nice 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 experience * Unit 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 instrumentation ## Description SirenOpt 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 Do * Develop 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/IP * Implement communication drivers for industrial instruments (mass flow controllers, vacuum gauges, motor controllers) over serial and CAN interfaces * Design, build, and maintain hardware-in-the-loop (HIL) automated test systems * Develop host-side test tooling (Python GUIs, emulators, 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