Senior Firmware & Software Engineer
Listed on 2026-10-10
-
Software Development
Embedded Systems/ Firmware/ IoT, C++ Developer, Embedded Software Engineer, Software Engineer
Company Overview
Filmetrics, a KLA company, is the market leader in 3D optical surface profiling and thin‑film thickness measurement systems. Filmetrics products combine innovative hardware solutions with intuitive, easy‑to‑use software, tied together with a pioneering online platform. Filmetrics is part of KLA Corporation which develops industry‑leading equipment and services that enable innovation throughout the electronics industry. We provide advanced process control and process‑enabling solutions for manufacturing wafers and reticles, integrated circuits, packaging, printed circuit boards and flat panel displays.
In close collaboration with leading customers across the globe, our expert teams of physicists, engineers, data scientists and problem‑solvers design solutions that move the world forward.
As a Senior Firmware & Software Engineer on this team, you will design, develop, release, and support the embedded firmware and Windows desktop software that power our families of surface profiler, thin film, sheet resistance and nanoindentation measurement instruments. Working at the intersection of software, firmware, and electronics, you will build everything from low‑level, real‑time firmware running on instrument hardware to rich C#/.NET
desktop applications, leveraging cutting‑edge technologies and the latest advancements in software engineering and AI/ML/DL.
- Deliver well‑defined features/components with high‑level guidance: estimate work, communicate risks/tradeoffs, and deliver on schedule
- Collaborate cross‑functionally across the development lifecycle to define architecture and create system‑ and subsystem‑level requirements/specifications
- Design, implement, and debug embedded firmware (C/C++) for microcontrollers and real‑time control of instrument hardware, including communication interfaces such as USB, Ethernet, serial/UART, SPI, and I2C
- Develop Windows desktop software in C#/.NET (WPF/Win Forms) and C++ for instrument control, GUI, and data analysis; write maintainable, multithreaded code and use AI‑assisted tools responsibly under company security policies
- Partner closely with electrical and hardware engineers on board‑bringup, signal and schematic debugging, and firmware/hardware co‑development using oscilloscopes, logic analyzers, and in‑circuit debuggers
- Build robust unit/integration tests and use profiling to improve performance, memory usage, reliability, and security
- Participate in design reviews and incorporate feedback from stakeholders and subject‑matter experts
- Troubleshoot system/subsystem issues using logs and experiments; contribute to root‑cause analysis, implement fixes with guidance, and help prevent recurrence
- Demonstrate motivation to independently learn and apply new software technologies
Travel – Occasional travel may be required to KLA headquarters, customer sites, or other business locations. Travel is expected to be less than 10% of working time.
Qualifications- Bachelor’s degree (required) + significant relevant experience;
Master’s or advanced degree (desired) + relevant experience in Electrical, Computer, Software, Industrial, or Manufacturing Engineering, or Physics. A software engineer with a strong electrical engineering or hardware background is ideal. - A solid understanding and demonstrated track record in the practice of software engineering fundamentals, including architecture, data structures, design patterns, event‑driven design, multithreaded and real‑time design, testing, and debugging.
- Experience with:
- Microsoft .NET and C# for Windows desktop application development (WPF and/or Win Forms)
- C and C++ programming, including embedded firmware development
- Embedded systems and microcontroller firmware, including real‑time…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).