Sobre este puesto de Staff Embedded Linux Software Engineer en SirenOpt
About SirenOpt
SirenOpt helps manufacturers make better, safer, and more reliable micro- and nano-materials. These materials are the building blocks of critical sectors of the global economy such as batteries, computer chips, aircraft components, and power systems. But, surging material demand and growing complexity are pushing production to unprecedented scales and speeds, leaving manufacturers effectively flying blind. Small, undetected variations during production lead to wastage, lower performance, higher costs, and safety risks.
SirenOpt is changing this by developing a manufacturing intelligence platform that non-destructively probes materials during production, revealing critical internal information without damaging them. Using a novel combination of cold atmospheric plasma, physics-informed machine learning, and predictive analytics, SirenOpt generates unique, real-time material fingerprints that capture material signals not accessible through conventional measurement techniques. These insights give manufacturers unprecedented visibility into how materials behave as they are made.
We turn hidden data into actionable intelligence to help manufacturers reduce variability and thus increase yield and performance. The technology can be deployed as a standalone tool or integrated directly into factory production lines. SirenOpt is currently deploying early versions of its platform with some of the largest industrial manufacturers in the world across North America, Europe, and Asia.
About the job
Job Title: Staff Embedded Linux Software Engineer — Firmware Team
Location: On-Site (San Leandro, CA)
Job Type: Full-Time
Role Overview
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
What We're Looking For
- 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
Benefits
- Equity and Salary compensation depends on experience
- Health, Dental, Vision plans provided
- 401k matching provided
- Time off: 20 days of PTO per year, plus approximately 15 paid US holidays per year