Software Engineer
- Chino, CA, United States
Applications open in a new tab.
Job details
- Posting language
- English
Original job 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.
Required Qualifications: Software Engineer II
- Bachelor’s degree in computer science, computer engineering, or a 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 optimizing code for performance.
- Experience with Git/GitHub workflows, version control, collaborative development, and code review.
- Familiarity with software build systems, debugging tools, unit testing, and validation.
- Strong analytical troubleshooting skills and ability to work across software/hardware boundaries.
- Effective technical communication and documentation skills.
- Ability to thrive in a fast-paced, team-oriented, Agile environment.
Additional Required Qualifications: Senior Software Engineer
- 5+ years of professional software engineering experience.
- Demonstrated ability to design and maintain complex C/C++ software systems.
- Experience designing software architecture for embedded, hardware-integrated, or other equipment products.
- Experience setting up or owning build, test, and release processes for a software product.
- Strong Linux development experience, including system-level debugging and deployment.
- Hands-on experience in at least one of the following: cross-compilation and system integration; embedded Linux platforms, BSPs, or SDKs; or Linux platform lifecycle maintenance.
- Ability to own complex technical problems, lead design decisions, and mentor engineers.
Preferred Qualifications
- Experience with Yocto Project, Buildroot, toolchains, root filesystem customization, or reproducible embedded Linux builds.
- Experience with secure software update and 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 experience a plus.
- Experience implementing numerical computing, signal processing, or control algorithms.
- Master’s degree in computer science, computer engineering, or a related field.
Equal Employment Opportunity Luna is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity or expression, national origin, ancestry, age, disability, medical condition, genetic information, marital status, military or veteran status, or any other characteristic protected by federal, state, or local law. Luna will consider qualified applicants with arrest and conviction records in accordance with the California Fair Chance Act.