Embedded Software Engineer (C/C++ | Micro Controller)

KLA

Milpitas (CA)

On-site

USD 136,000 - 232,000

Full time

24 hours ago
Be an early applicant

Get more replies from employers

Send a job-specific resume in minutes.

Benefits offered by this job

Medical and dental insurance
Vision insurance
401(k) with company matching
Employee stock purchase program (ESPP)
Tuition reimbursement
Paid time off and holidays

Job summary

KLA is a global leader in diversified electronics for the semiconductor manufacturing ecosystem. The Surfscan group delivers wafer surface quality and defect inspection tools, working with customers worldwide in a high-tech environment.

The role focuses on developing and integrating firmware and software for heterogeneous SoC platforms, collaborating with global teams, and ensuring robust, scalable embedded solutions for advanced metrology and inspection systems.

Qualifications

  • BS in CS/CE/EE or related field with 5+ years of relevant experience; or advanced degree with 2+ years.
  • Proficiency in embedded Linux development and BSP customization.
  • Experience with ARM-based SoCs and multicore systems.
  • Strong C/C++ programming skills for embedded systems.
  • Experience with RTOS such as FreeRTOS or TI-RTOS.
  • Experience with FPGA interfacing and inter-board communications.
  • Ability to read schematics and use testing instruments.
  • Excellent written and verbal communication skills.

Responsibilities

  • Develop embedded firmware and software in C/C++ for heterogeneous SoC platforms across Linux/RTOS.
  • Design and implement software for precision motion control, machine automation, camera configuration, and image acquisition.
  • Analyze system-level requirements and architect, design, develop, and debug low-level software for complex hardware subsystems.
  • Develop and maintain BSPs, device drivers, bootloader configurations, and platform software for embedded Linux.
  • Perform hardware bring-up, system integration, performance tuning, and root-cause analysis across processors and peripherals.
  • Collaborate with Electrical, FPGA, Mechanical, Systems, and Product Engineering teams globally.
  • Develop diagnostic, configuration, and validation tools in C++ and Python on Windows.
  • Enhance firmware/software architectures for reliability, performance, and scalability.
  • Work with customers, suppliers, and partners to support system integration and deployment.

Skills

Embedded firmware
C/C++ programming
ARM Cortex-R/M
Linux/RTOS development
Device drivers/BSP
Python
Image/camera processing
LabVIEW/MATLAB
Networking (InfiniBand/RoCE)
System integration

Education

BS in CS/CE/EE or related field
Advanced degree (MS/PhD)

Tools

Yocto Project
TI Jacinto/Sitara
TI C66x/C7x DSP
FPGA tooling

Job description

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.

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 and/or C7x DSP architectures.
  • Strong experience with PCIe architecture, device drivers, and system integration.
  • Experience with camera interfaces, image processing pipelines, sensor integration, industrial automation, or precision motion-control applications, including high-performance CCDs and photodiodes.
  • Experience using LabVIEW, Python, and MATLAB.
  • Experience with object-oriented design and C/C++ development.
  • Hands-on knowledge of machine and motion-control systems.
  • Experience developing software for high-speed network data transfer using protocols such as InfiniBand or RoCE, including data-path configuration and routing across complex network topologies.
  • Experience developing signal-processing applications, including FFT/DFT-based algorithms.
Minimum Qualifications
  • Proficiency in embedded Linux development, including BSP customization, device drivers, kernel debugging, bootloader integration, system bring-up, and performance optimization.
  • Hands-on experience with the Yocto Project for BSP integration, package management, Linux distribution creation, and build system customization.
  • Good understanding of embedded peripherals and interfaces, including SPI, I2C, UART/serial, GPIO, and Ethernet.
  • Strong programming skills in C/C++ for embedded systems development.
  • Experience with FPGA interfacing and inter-board communication.
  • Ability to read electronic schematics and use basic electronic instruments, such as digital multimeters and oscilloscopes.
  • Experience with RTOS environments such as FreeRTOS, TI-RTOS, or equivalent platforms.
  • Experience developing software on ARM-based SoCs and multicore embedded systems.
  • Strong debugging, problem-solving, and system integration skills.
  • Excellent written and verbal communication skills.
Education Requirements
  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline with 5+ years of relevant experience; or an advanced degree with 2+ years of relevant experience.

Base Pay Range: $136,300.00 - $231,700.00 Annually

Primary Location: USA-CA-Milpitas-KLA

KLA’s total rewards package for employees may also include participation in performance incentive programs and eligibility for additional benefits including but not limited to: medical, dental, vision, life, and other voluntary benefits, 401(K) including company matching, employee stock purchase program (ESPP), student debt assistance, tuition reimbursement program, development and career growth opportunities and programs, financial planning benefits, wellness benefits including an employee assistance program (EAP), paid time off and paid company holidays, and family care and bonding leave.

Interns are eligible for some of the benefits listed. Our pay ranges are determined by role, level, and location. The range displayed reflects the pay for this position in the primary location identified in this posting. Actual pay depends on several factors, including state minimum pay wage rates, location, job-related skills, experience, and relevant education level or training. We are committed to complying with all applicable federal and state minimum wage requirements where applicable. If applicable, your recruiter can share more about the specific pay range for your preferred location during the hiring process.

KLA is proud to be an Equal Opportunity Employer. We will ensure that qualified individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us at talent.acquisition@kla.com or at +1-408-352-2808 to request accommodation.

Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Embedded Software Engineer (C/C++ | Micro Controller)
Embedded Software Engineer (C/C++ | Micro Controller)

KLA-Belgium • Milpitas (CA), Northern (KY)

Hybrid
USD 136,000 - 232,000
Embedded Software Engineer (C/C++ | Motion Controller)
Embedded Software Engineer (C/C++ | Motion Controller)

KLA • Milpitas (CA)

On-site
USD 136,000 - 232,000
Medical benefits
Dental benefits
Vision benefits
+5
Senior Software Engineer
Senior Software Engineer

KLA • Milpitas (CA)

On-site
USD 160,000 - 271,000
Medical, dental, vision
401(k) with company match
Employee stock purchase program (ESPP)
+1
Lead Embedded Software Engineer (Machine Control/Linux/C/C++)
Lead Embedded Software Engineer (Machine Control/Linux/C/C++)

KLA • Milpitas (CA)

On-site
USD 159,000 - 272,000
401(K) with company matching
Tuition reimbursement program
Wellness benefits including EAP
System Design Engineer
System Design Engineer

KLA-Belgium • Milpitas (CA)

On-site
USD 159,500 - 271,200
401(K) with company matching
Employee stock purchase program (ESPP)
Tuition reimbursement
+2
Embedded Software Engineer
Embedded Software Engineer

KLA • Milpitas (CA)

On-site
USD 136,000 - 232,000
Medical, dental, and vision benefits
401(k) with company matching
Student debt assistance
+2
Regional Applications Development Engineer
Regional Applications Development Engineer

KLA • Milpitas (CA)

On-site
USD 98,000 - 166,000
Embedded Software Engineer (C/C++ | Motion Controller)
Embedded Software Engineer (C/C++ | Motion Controller)

KLA-Belgium • Milpitas (CA), Northern (KY)

Hybrid
USD 136,000 - 232,000
Applications Development Engineer
Applications Development Engineer

KLA • Milpitas (CA)

On-site
Regional Applications Development Engineer
Regional Applications Development Engineer

KLA-Belgium • Milpitas (CA)

On-site
USD 98,000 - 166,000
Medical
Dental
Vision
+11