Software Engineer
Software Engineer II (flexible to Senior) at Luna Innovations' Chino, CA photonics instrumentation team, building C/C++ and Python applications on Linux and Windows—including embedded Linux devices—for precision optical test equipment: GUIs, system software, remote-control APIs/SDKs, and build/release infrastructure.
- Compensation
- Not disclosed
- Location
- Chino, CA, US
- Work setup
- Not specified
- Seniority
- Not specified
- Employment
- Not specified
- Experience
- 3+ years
- Category
- Software engineering
- Posted
Skills
Must have
- Bachelor's degree in computer science, computer engineering, or related technical field
- 3+ years of professional software engineering experience
- Proficiency in C/C++ and Python
- Experience developing, debugging, and maintaining software on Linux
- Experience with multithreading, memory management, and code performance optimization
- Experience with Git/GitHub workflows, version control, and code review
- Familiarity with software build systems, debugging tools, unit testing, and validation
- Strong analytical troubleshooting skills across software/hardware boundaries
- Effective technical communication and documentation skills
- Ability to thrive in a fast-paced, team-oriented, Agile environment
- Senior level: 5+ years of professional software engineering experience
- Senior level: demonstrated ability to design and maintain complex C/C++ software systems
- Senior level: experience designing software architecture for embedded or hardware-integrated products
- Senior level: experience setting up or owning build, test, and release processes
- Senior level: strong Linux development experience including system-level debugging and deployment
- Senior level: hands-on experience in cross-compilation/system integration, embedded Linux platforms/BSPs/SDKs, or Linux platform lifecycle maintenance
- Senior level: ability to own complex technical problems, lead design decisions, and mentor engineers
Nice to have
- Experience with Yocto Project, Buildroot, toolchains, root filesystem customization, or reproducible embedded Linux builds
- Experience with secure software update/deployment systems, rollback/recovery, and remote device or fleet management
- Experience with Linux kernel configuration, device drivers, or upstream patch integration
- Experience with instrument communication protocols and interfaces
- Experience developing lightweight web-based GUIs and web server applications for embedded Linux or network-connected devices
- Experience building GUIs for scientific or test and measurement equipment; Qt a plus
- Experience implementing numerical computing, signal processing, or control algorithms
- Master's degree in computer science, computer engineering, or related field
Full description
At Luna Innovations, we measure and manage light in optical fiber. Our Optics/Polarization product line, based in Chino, CA, specializes in industry-leading components, modules, and test equipment for the characterization and control of optical polarization. Our instruments, ranging from dynamic optical delay/phase management and high-speed polarization state management to full-function polarization light analyzers, are critical for optical communications, silicon photonics testing, and fiber optic sensing.
At Luna, you will work with some of the most curious, forward-thinking engineers and scientists in the industry to shape the future of fiber optic measurement.
Role Overview
We are seeking a Software Engineer II, with flexibility to hire at the Senior level for the right candidate, to join the software development team for our photonics instrumentation. Final level and pay will be based on experience, skills, and qualifications. You will build the applications that control precision optical instruments, process high-speed measurement data, and visualize complex optical behavior in real time. You will develop software for Linux and Windows platforms, including embedded Linux devices, and support the remote control interfaces customers use to integrate our instruments into their own test systems.
If you are passionate about hardware-software integration and want to build the software behind state-of-the-art optical test equipment, we want you on our team.
Key Responsibilities
- Application Development: Design, develop, and maintain reliable C/C++ and Python applications for Linux and Windows, including user-facing applications and GUIs.
- Software Architecture: Design maintainable, modular software components and interfaces for hardware-integrated products; evaluate performance, reliability, and lifecycle trade-offs.
- Embedded Linux: Develop and integrate software on embedded and headless Linux platforms, including cross-compilation and system integration.
- Software Infrastructure & Lifecycle: Improve build and release processes, automated testing, packaging, deployment, Linux updates, security patch management, and long-term maintenance.
- Remote Control & SDKs: Develop and support APIs, SDKs, and remote control interfaces that enable customers to integrate our instruments into automated manufacturing and test systems.
- Software Quality & Documentation: Apply code review, testing, debugging, validation, versioning, and technical documentation practices throughout development and release.
- Cross-Functional Collaboration: Work with optical, electrical, firmware, and systems engineers, as well as manufacturing and support teams, to define instrument capabilities, troubleshoot prototypes, and bring new products to market.