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

KLA-Belgium

Milpitas (CA)

On-site

USD 136,000 - 232,000

Full time

14 days+
Application generator

Get a reply from this employer — a resume and cover letter tailored to exactly what they’re hiring for.

Get past ATS filters

Benefits offered by this job

Medical, dental, vision
401(K) with company matching
Employee Stock Purchase Plan
Tuition reimbursement
Paid time off and holidays

Job summary

KLA is seeking an experienced embedded software engineer in Milpitas to develop firmware for heterogeneous SoCs, including ARM cores, across Linux and RTOS environments. You will design software for motion control, image capture, and real-time data processing, and maintain BSPs and drivers.

Engagement with global engineering teams enables robust system integration and field support. The role emphasizes cross-disciplinary collaboration, performance optimization, and building scalable, reliable

Qualifications

  • Embedded Linux development with BSP customization, device drivers, kernel debugging, and bootloader integration.
  • Yocto Project experience for BSP integration, packaging, and build customization.
  • Familiarity with SPI, I2C, UART, GPIO, Ethernet and RTOS environments.
  • Strong C/C++ programming for embedded systems and ARM-based SoCs.
  • Experience with FPGA interfacing and inter-board communication.
  • Robot/industrial automation or image sensor tech experience is a plus.
  • Demonstrated debugging and system integration skills.
  • Excellent written and verbal communication abilities.

Responsibilities

  • Develop embedded firmware and software for heterogeneous SoC platforms across Linux and RTOS.
  • Design and implement software for motion control, automation, image acquisition, and real-time processing.
  • Architect and debug low-level software for complex hardware subsystems.
  • Create and maintain BSPs, device drivers, and bootloader configurations.
  • Collaborate with cross-functional teams across global locations to integrate systems.
  • Develop diagnostic and validation tools in C++ and Python on Windows.
  • Improve firmware/software architectures for reliability, performance and scalability.
  • Assist customers and partners in system integration and deployment.

Skills

Embedded firmware
C/C++ development
ARM Cortex-R/M
Real-time systems
Linux development
Python
Image processing
PCIe

Education

Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or related technical discipline

Tools

TI Jacinto/Sitara
TI C66x/C7x DSPs
LabVIEW
MATLAB
InfiniBand/RoCE

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.

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

Benefits
  • 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.
Equal Opportunity Employer

KLA is proud to be an Equal Opportunity Employer.

Accommodation Statement

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++ | Motion Controller)
Embedded Software Engineer (C/C++ | Motion Controller)

KLA-Belgium • Milpitas (CA)

On-site
USD 136,000 - 232,000
Medical, dental, vision
401(k) matching
Employee stock purchase program (ESPP)
+1
Embedded Software Engineer
Embedded Software Engineer

KLA-Belgium • Milpitas (CA)

On-site
USD 136,000 - 232,000
Medical
Dental
Vision
+3
Software Engineer – Linux Infrastructure and Distributed Computing
Software Engineer – Linux Infrastructure and Distributed Computing

KLA-Belgium • Milpitas (CA)

On-site
USD 136,000 - 232,000
Medical benefits
401(k) + ESPP
Tuition reimbursement
+2
Software Engineer
Software Engineer

KLA • Milpitas (CA)

On-site
USD 136,000 - 232,000
Medical, dental, vision
401(k) matching
Employee stock purchase program (ESPP)
+2
Senior Software Engineer
Senior Software Engineer

KLA-Belgium • Milpitas (CA)

On-site
USD 136,000 - 232,000
Medical
Dental
Vision
+7
Sr. Electrical Design Engineer (Linux, Firmware, Embedded, C++)
Sr. Electrical Design Engineer (Linux, Firmware, Embedded, C++)

KLA • Milpitas (CA)

On-site
USD 141,000 - 207,000
Lead Embedded Software Engineer (Machine Control/Linux/C/C++)
Lead Embedded Software Engineer (Machine Control/Linux/C/C++)

KLA-Belgium • Milpitas (CA)

On-site
USD 160,000 - 271,000
Medical
Dental
Vision
+4
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
Software Engineer – IMC Platform and Cluster Infrastructure
Software Engineer – IMC Platform and Cluster Infrastructure

KLA-Belgium • Milpitas (CA)

On-site
USD 136,000 - 232,000
Medical
Dental
Vision
+6
Embedded Software Engineer
Embedded Software Engineer

KLA • Milpitas (CA)

On-site
USD 136,300 - 231,700
Medical, dental, and vision benefits
401(k) with company matching
Student debt assistance
+2