Software Engineer, C++ & Systems
SirenOpt
Role: Software Engineer (Early Career) – C++ & Systems
Location: On-Site (San Leandro, CA)
Type: Full-Time
About the Role
SirenOpt is seeking a Software Engineer to help build and maintain the real-time data pipeline behind its sensing platform. This role involves acquiring data from multiple sensors, processing and storing it on Linux-based systems, and delivering it to customer-facing applications. You will work primarily in modern C++ and Python, with mentorship from senior engineers, and will be hands-on with real hardware in the lab for testing and validation.
Key Responsibilities
- Develop and maintain software components in modern C++ (C++17/20) for Linux-based systems, with guidance from senior engineers.
- Implement features, fix bugs, and write unit and integration tests across the data pipeline, from sensor acquisition through processing and storage to services delivering results to applications.
- Write and maintain Python scripts for automation, testing, and data analysis.
- Read, and where needed, modify existing code written in other languages across the codebase.
- Use AI coding tools (e.g., Claude Code, GitHub Copilot) to accelerate development and verify their output through testing, profiling, and code review.
- Run the system on real hardware in the lab to test and validate changes, including setting up sensors and collecting data.
- Participate in code reviews, both receiving and giving feedback, and follow team conventions for code quality.
- Help diagnose and debug issues across software and hardware boundaries, working with firmware and hardware engineers.
- Measure and improve performance of existing code under the direction of senior engineers.
- Document work so that others on the team can build on it.
Requirements & Tech Stack
- Solid foundation in C++, including memory management, references and pointers, the standard library, and basic object-oriented and generic programming.
- Strong ability to read, understand, and write Python, including working within existing Python codebases used for automation, testing, and data analysis.
- Ability to pick up new programming languages quickly.
- Understanding of core computer science fundamentals: data structures, algorithms, operating systems, and concurrency basics.
- Comfortable with the everyday toolchain: Linux command line, build tools (CMake or similar), a debugger, and Git-based workflows (branches, pull requests, code review).
- Hands-on experience using AI coding tools (e.g., Claude Code, GitHub Copilot, Cursor) as part of a real development workflow, and the judgment to review and test their output.
- Comfortable working hands-on with lab and test equipment: setting up sensors, running the system on real hardware, and collecting data for testing and validation.
- Clear written and verbal communication, and the ability to work well with teammates across disciplines.
Qualifications
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field (recent graduates welcome).
- 0–2 years of professional software development experience; internships, co-ops, research, and substantial personal or open-source projects count.
Nice to have
- Experience with Qt, gRPC, or Protocol Buffers.
- Familiarity with CI/CD pipelines and automated testing.
- Experience with profiling and debugging tools such as perf, Valgrind, GDB, or sanitizers.
- Familiarity with hardware communication interfaces such as Ethernet, USB, or Serial.
- Contributions to open-source projects.
Compensation & Benefits
- Base Pay Range: $120,000 USD - $160,000 USD
- 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.