Senior/Staff Software Engineer - C++
Senior / Staff Software Engineer – C++ & Systems
Location: San Leandro, CA (On-site)
About Us
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. Our manufacturing intelligence platform scans materials, revealing critical internal information without damaging them. Using a novel combination of cold atmospheric plasma, physics-informed machine learning, and predictive analytics, SirenOpt creates unique, real-time fingerprints that capture material signals no other method can access. 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 our platform with some of the largest industrial manufacturers in the world across North America, Europe, and Asia.
What We're Looking For
The ideal candidate is passionate about building high-quality commercial software and solving challenging systems problems.
You take ownership of your work, write clean and maintainable code, and enjoy understanding how software interacts with operating systems and hardware to achieve exceptional performance.
Experience building and shipping software for commercial products is highly valued.
You thrive in a collaborative environment and enjoy working across software, firmware, and hardware disciplines to build products used in real customer environments.
Responsibilities
· Design, develop, and optimize high-performance software using modern C++ (C++17/20)
· Develop scalable, reliable, and maintainable software for Linux-based systems
· Design multi-threaded and asynchronous software architectures
· Analyze, profile, and optimize software performance across CPU, memory, storage, networking, and I/O
· Read, understand, maintain, and enhance existing Python code used for automation, testing, and data analysis
· Collaborate closely with firmware, hardware, and application engineering teams
· Participate in software architecture, technical design, and code reviews
· Debug complex system-level issues across software and hardware boundaries
· Take ownership of software components throughout the product development lifecycle
Required Qualifications
· Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field
· 5+ years of professional software development experience (Senior) or 8+ years (Staff)
· Strong proficiency in modern C++ (C++17/20)
· Working knowledge of Python with the ability to read, understand, maintain, and modify existing Python code
· Strong experience developing software on Linux
· Strong understanding of:
o Operating systems
o Memory management
o Multi-threading and concurrency
o Software architecture
o Performance optimization
· Excellent debugging and problem-solving skills
· Experience using Git and modern software development workflows
Preferred Qualifications
· Experience designing and developing large-scale commercial software systems
· Experience developing and shipping software for commercial products
· Experience with scientific instrumentation or data acquisition systems
· Experience collaborating with firmware and hardware engineering teams
· Familiarity with low-latency, real-time, or data acquisition software systems
· Experience developing desktop applications using Qt Widgets and Qt Charts
· Familiarity with scientific computing, signal processing, physics, or machine learning
Nice to Have
· Experience with Linux systems programming
· Experience with performance profiling tools such as perf or Valgrind
· Experience with CMake and GDB
· Familiarity with Embedded Linux
· Experience with hardware communication interfaces such as Ethernet, USB, PCIe, or Serial
· Familiarity with CI/CD and automated testing