Embedded Software Engineer (C/C++ | Micro Controller)
KLA Corporation
- Location
- Milpitas, CA
- Work model
- On-Site
- Level
- Mid
- H-1B history
- 85 approvals (FY2023)
- Posted
- 23h ago
Skills
About this role
Company Overview KLA is a global leader in diversified electronics for the semiconductor manufacturing ecosystem. Virtually every electronic device in the world is produced using our technologies. No laptop, smartphone, wearable device, voice-controlled gadget, flexible screen, VR device or smart car would have made it into your hands without us. KLA invents systems and solutions for the manufacturing of wafers and reticles, integrated circuits, packaging, printed circuit boards and flat panel displays. The innovative ideas and devices that are advancing humanity all begin with inspiration, research and development. KLA focuses more than average on innovation and we invest 15% of sales back into R&D. Our expert teams of physicists, engineers, data scientists and problem-solvers work together with the world’s leading technology providers to accelerate the delivery of tomorrow’s electronic devices. Life here is exciting and our teams thrive on tackling really hard problems. There is never a dull moment with us. Group/Division With over 40 years of semiconductor process control experience, chipmakers around the globe rely on KLA to ensure that their fabs ramp next-generation devices to volume production quickly and cost-effectively. Enabling the movement towards advanced chip design, KLA's Global Products Group (GPG), which is responsible for creating all of KLA’s metrology and inspection products, is looking for the best and the brightest research scientist, software engineers, application development engineers, and senior product technology process engineers. The Surfscan group includes a team of engineers, technology development, apps engineers and product marketing focused on technology that enables wafer, IC and equipment manufacturers to develop, qualify and monitor their process tools. Defects and process non-uniformities detected on Surfscan equipment allow for early identification of yield excursions. The flagship Surfscan products include the SPx platforms for wafer surface quality and wafer defect inspection tools and systems for inspection of polished wafers, epi wafers and engineered substrates during the wafer fabrication process. Job Description/Preferred Qualifications Key Responsibilities Develop embedded firmware and software in C/C++ for heterogeneous SoC platforms , including ARM application processors, ARM real-time cores, and TI C66x/C7x DSPs, across Linux and RTOS environments. Design and implement software for precision motion control, machine automation, camera configuration and image acquisition, sensor data acquisition, and real-time signal processing. Analyze system-level requirements and architect, design, develop, and debug low-level software for complex hardware subsystems. Develop and maintain Board Support Packages (BSPs), device drivers, bootloader configurations, and platform software for embedded Linux systems. Perform hardware bring-up, system integration, performance tuning, and root-cause analysis across processors, peripherals, networking interfaces, imaging subsystems, and control systems. Collaborate closely with Electrical, FPGA, Mechanical, Systems, and Product Engineering teams across global locations, including the United States, India, and Singapore. Develop diagnostic, configuration, and validation tools in C++ and Python on Windows platforms to support engineering development, manufacturing, and field troubleshooting. Enhance and maintain existing firmware and software architectures to improve subsystem control, diagnostics, reliability, performance, and scalability. Work directly with customers, suppliers, and technology partners, as needed, to support system integration, issue resolution, and product deployment.
Preferred Qualifications
Strong experience developing firmware for ARM Cortex-R/M class processors operating in memory-constrained , real-time environments . Experience with TI Jacinto or Sitara platforms. Experience developing software for TI C66x