Software Engineer

Luna Innovations
Chino, CA, United States
13 days ago
Apply on diversityjobs.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
3 years minimum
Working hours
Regular working hours

Tech stack

Computer-Aided Design Microsoft Windows Application Programming Interfaces (APIs) Agile Methodology Systems Engineering Automation of Tests Unit Testing UClibc (C Standard Library) C++ (Programming Language) Software Quality Code Review Communications Protocols
+31 more
Computer Engineering Software Debugging Linux Device Drivers Memory Management Linux on Embedded Systems Firmware Web Servers Information Security Management Java GUIs Python (Programming Language) Linux Kernel Software Architecture Software Maintenance Qt (Software) Release Management Signal Processing Software Engineering Software Systems Systems Integration Toolchain Management of Software Versions Web Applications Multithreading Numerical Computing Fastapi Build Management Linux Development Yocto Information Technology Software Version Control

Job description

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

Requirements

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., 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., * 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.

About the company

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.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on diversityjobs.com
Prepare application

Good distractions

Loading talks and stories from around this role…