SirenOpt logo

Senior/Staff Embedded Linux Software Engineer

SirenOpt

San Leandro, CAFull-timePosted 1w agoStill listed 1 day ago

Most applications go out cold — see where you stand first. No sign-up to start.

Watch jobs like this.

At a glance

Compensation
No compensation found
Location
San Leandro, CA
Schedule
Full-time
Work Authorization
Not specified

Olive lists jobs from US employers, including remote roles you can work from the United States.

Requirements

Credentials this posting asks for.

Bachelor's degree

Job overview

SirenOpt seeks an Embedded Linux Software Engineer for a small firmware team developing the embedded software stack for a commercial scientific instrument based on an AMD/Xilinx FPGA SoC running PetaLinux. The role shares Linux application development, owns test automation infrastructure, and establishes CI/build reliability. It combines lab work with prototype hardware and software development, with a sequenced release cadence from HDL and drivers through system integration.

Skills & qualifications

RequiredNice to have

Skills

Embedded Operating SystemsC (Programming Language)Python (Programming Language)Test AutomationDevOpsTCP/IPArduinoRemote DebuggingReal Time SystemsC ProgrammingTCP/IP Socket ProgrammingUDPUARTSPII2CCANRS-232RS-485Hardware DebuggingReal-Time Data FlowHardware-in-the-Loop TestingLinux DMA ProgrammingCI/CDYoctoPetaLinuxC Unit TestingFPGA Register InterfacesPerformance ProfilingNetwork AnalysisPython GUI DevelopmentScientific InstrumentationProcess-Control Instrumentation

Qualifications

Bachelor's in Electrical Engineering or Related10+ Years Relevant Industry Experience

Full job description

About the job Job Title: Embedded Linux Software Engineer — Firmware Team Location: On-Site (San Leandro, CA) Job Type: Full-Time

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.

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

  • B.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

Similar jobs, posted recently

Open roles like this one, listed in the last 30 days.

You've read the whole posting — now see how you match it.