K

KLA

Makes chip inspection and measurement equipment

Embedded Software Engineer

Embedded EngineeringConfirmed live in the last 24 hours
Full-timeMilpitas, CA, USAIn-person

About the Job

Requirements

  • A BS or MS in Electrical Engineering, Computer Science, Computer Engineering, or a related field, or equivalent practical experience.
  • At least 5 years of embedded software development experience in an industrial or product-focused environment.
  • Strong C/C++ skills and solid software engineering fundamentals, including object-oriented design and programming, design patterns, and testable design.
  • Strong experience with Linux and/or real-time operating system environments, multithreading, synchronization, and embedded software architecture; familiarity with Linux kernel concepts such as process versus interrupt context, basic memory management, sysfs, and debugfs.
  • Hands-on experience developing and debugging Linux kernel drivers, preferably using an upstream-style workflow, including device-tree or ACPI exposure as applicable, and a strong understanding of PCIe fundamentals including configuration space, BARs, interrupts/MSI/MSI-X, DMA, and link characteristics.
  • Experience with communication protocols such as Serial (RS-232), Ethernet, EtherCAT, and TCP/IP sockets and network programming.
  • Strong analytical and communication skills to present designs in reviews, work effectively across disciplines, and drive issues to closure in a collaborative team environment.
  • Ability to learn quickly and turn prototypes into quality, maintainable production code used in mission-critical applications.
  • Strong software debugging and troubleshooting skills.
  • Minimum qualifications allow a doctorate with 0 years of related work experience, a master's degree with 3 years of related work experience, or a bachelor's degree with 5 years of related work experience.

Responsibilities

  • Take end-to-end technical ownership of embedded software powering reticle inspection systems, focusing on high-speed data capture pipelines and low-level hardware interfaces.
  • Design, develop, and deploy complex embedded software and firmware for machine control in semiconductor inspection systems.
  • Build quasi-real-time applications in C/C++ for image capture systems running on real-time Linux or VxWorks.
  • Design and implement robust, scalable software for system control, high-speed data acquisition, image processing, and hardware interaction.
  • Translate system-level requirements into well-partitioned user-space and kernel-space designs where appropriate.
  • Develop and debug Linux kernel drivers and related user-space components for custom hardware, including PCIe device enumeration and bring-up, DMA and interrupt handling, memory-mapped I/O, and performance tuning for high-throughput, low-latency data paths.
  • Partner with mechanical, systems, electrical, optics/opto-mechanical, algorithms, and applications teams to deliver integrated solutions from concept through production.
  • Share expertise through design reviews, debugging sessions, documentation, and lightweight coaching.
  • Champion Agile, continuous integration and continuous delivery, code reviews, and automated testing.
  • Define and execute test plans to measure subsystem performance; document, analyze, and present results.
  • Troubleshoot complex system-level issues across hardware, kernel, and user space; optimize performance-critical software and improve system reliability.
  • Contribute to technical planning, estimation, and architectural tradeoffs.
  • Participate in all stages of development, including design, implementation, integration, deployment, testing, and field troubleshooting.

Desired Qualifications

  • Hands-on experience and laboratory exposure to electrical, mechanical, and optical measurement instruments.
  • Experience in semiconductor fab operations or manufacturing technology.
  • Knowledge of Linux administration and debugging tools such as perf, ftrace, trace-cmd, and gdb, and familiarity with UML or similar modeling methods.
  • Experience with high-speed I/O subsystems and driver ecosystems, including PCIe endpoints/switches, DMA engines, and IOMMU concepts, and diagnosing throughput/latency issues.
  • Knowledge of Python or another scripting language.
  • Systems thinking based on first principles and physics.
  • Project planning and management skills.

About the Company

KLA

Makes chip inspection and measurement equipment

KLA makes equipment and software that help semiconductor and electronics manufacturers find defects, measure tiny features and improve production yields. Its process control systems inspect wafers and analyze manufacturing data so engineers can identify problems before they spread through a production run. The product portfolio supports chip fabrication, packaging and printed circuit boards, with tools that check materials and finished components throughout manufacturing. KLA earns revenue from equipment sales and related service contracts, including maintenance that keeps customers' installed tools operating reliably. Formed through a merger in 1997, KLA is headquartered in Milpitas, California.

Company size
10,001+
Company stage
IPO
Headquarters
Milpitas, CA
Founded
1997

Recently Posted Jobs

Explore more opportunities at KLA

See more jobs