Job Description/Preferred Qualifications
KLA makes industrial systems that are indispensable for manufacturing of semiconductors. These systems involve complex hardware, firmware, software, and high-performance compute.
The Systems Software Engineer position we are trying to fill is a core function of software engineering at KLA and has the responsibility for controlling various pieces of hardware that form our system as well as coordinating between them.
As a senior member of the team a successful candidate will be expected to:
Develop a deep understanding of the system and software architecture.
Mentoring junior team members.
Work with cross-functional teams to develop software for our industry leading inspection products.
Successful candidates will have very strong software engineering skills and will be responsible for software development and maintenance of on-tool, back-end software. The software shall be deployed on sophisticated equipment deployed in the production of cutting-edge semiconductor chips. The software will be responsible for functions such as control of the machine, as well as diagnostics and calibrations.
You will be a good fit if you
Have domain knowledge in one of the following areas: Instrument Control SW (Robotics, Optics, MEMS), Image Processing, Image Computing.
Have demonstrated experience building highly scalable software systems.
Have deep conceptual understanding of multi-threaded, multi process and distributed software systems.
Previous technical lead experience is a required.
Essential Skills
Mentor and grow junior engineers from the standpoint of quality of design as well as delivered code.
Object Oriented Design & Programing in Java, C# or C++
Distributed systems
Scripting languages like Python
Data Structures and algorithms
Interface protocols for cross language software (example: CORBA, Apache Thrift, gRPC)
Asynch programming in Java, C++ or C+
Responsibilities
Candidate will be responsible for the design, development, testing and roll out of software solutions that enhance the capabilities of the KLA inspection machines.
Candidate must possess good communication skills to work with several hardware and software interdisciplinary teams to understand the system/marketing requirements and to map them to software requirements and design.