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

KLA

Milpitas (CA)

On-site

USD 136,000 - 232,000

Full time

14 days+

Get more replies from employers

Send a job-specific resume in minutes.

Benefits offered by this job

Medical benefits
401(K) + matching
Employee stock purchase plan (ESPP)
Tuition reimbursement
Paid time off

Job summary

KLA Milpitas is seeking an experienced firmware/software engineer to develop embedded code for heterogeneous SoC platforms, including ARM processors and TI DSPs. You will design drivers, BSPs, and platform software for embedded Linux across sensors, imaging subsystems, and control systems.

You will collaborate with cross-functional teams in the US, India, and Singapore, contribute to hardware bring-up, performance tuning, and tool development in C/C++, Python, and MATLAB.

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 multimeters and oscilloscopes.
  • Experience with RTOS environments such as FreeRTOS, TI-RTOS, or equivalent platforms.

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.

Skills

C/C++ development
Embedded Linux
RTOS
System integration
Python

Education

Bachelor’s degree in Electrical/Computer Engineering

Tools

Yocto Project
PCIe
TI-RTOS
LabVIEW
MATLAB

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
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++ | 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
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
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
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
Lead Embedded Software Engineer (Machine Control/Linux/C/C++)
Lead Embedded Software Engineer (Machine Control/Linux/C/C++)

KLA • Milpitas (CA)

On-site
USD 160,000 - 271,000
Sr. Electrical Design Engineer (Linux, Firmware, Embedded, C++)
Sr. Electrical Design Engineer (Linux, Firmware, Embedded, C++)

KLA • Milpitas (CA)

On-site
USD 141,000 - 240,000
Medical, dental, vision
401(K) with company match
Employee stock purchase program (ESPP)
Applications Development Engineer
Applications Development Engineer

KLA • Milpitas (CA)

On-site
Software Engineer – Linux Infrastructure and Distributed Computing
Software Engineer – Linux Infrastructure and Distributed Computing

KLA • Milpitas (CA)

On-site
USD 136,000 - 232,000
Medical
Dental
Vision
+6
Regional Applications Development Engineer
Regional Applications Development Engineer

KLA • Milpitas (CA)

On-site
USD 98,000 - 166,000
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