Senior Software Engineer
KLA · Milpitas, CA · 1 mo ago
Engineering$160k–$271k/yrFull-time
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.
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.
- Candidate should (over time) develop deep understanding of how the system works and be able to provide software solutions for critical customer gaps or issues.
- Candidate should develop and evaluate concepts and designs for the next generation systems by conducting trade-off studies, identifying risk items and suggest mitigation plans.
- This calls for interest and domain knowledge beyond software in the fields of hardware and systems engineering
- Candidate must work in a geographically distributed team to develop and deliver software solutions.
- The candidate should be influential in architectural and technology decisions made by senior members of the team and help drive adoption of best industry practices in code health, testing, and maintainability
- Candidate must be comfortable working in a fast-paced environment where communication and collaboration with a large multi-disciplinary team is a significant part of the job.
Minimum Qualifications
- Doctorate (Academic) or work experience of 2 years
- Master's Level Degree or work experience of 4 years
- Bachelor's Level Degree or work experience of 5 years