Expoint - all jobs in one place

The point where experts and best companies meet

Limitless High-tech career opportunities - Expoint

KLA Systems Software Engineer 
United States, Michigan, Ann Arbor 
740023864

31.07.2024

What you will be doing:

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 1.) Develop a deep understanding of the system and software architecture. 2.) Mentoring junior team members. Successful candidates will have very strong software engineering skills as well as a passion for working with hardware (non-compute mechanical hardware).

  • A software engineer in this position will have the following responsibilities:
  • Responsible for the design, development, testing and roll out of software solutions that enhance the capabilities of the KLA inspection machines.
  • 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. Develop and evaluate concepts and designs for the next generation systems by conducting trade-off studies, identifying risk items and suggest mitigation plans.
  • Work in a geographically distributed team to develop and deliver software solutions.
  • Comfortable working in a fast-paced environment where communication and collaboration with a large multi-disciplinary team is a significant part of the job. That is, coding is not the only skill needed for this job. While documentation and other offline support will be available, interacting with stakeholders will remain an indispensable part of understanding what needs to be done, and validating the work that is done.
  • Mentoring junior team members.
  • Influential in architectural and technology decisions made my senior members of the team.
What we want to see:
  • A Bachelor's degree or higher in Computer Science, Engineering, or related field.
  • Previous experience as a Software Engineer or Software Developer working on (non-compute hardware), automation, or instrumentation.
  • Excellent software engineering skills, including deep conceptual and applied knowledge of OOP, design patterns, data structures, distributed systems, multi-threaded and multi-process programming.
  • Proficiency in writing, deploying, and maintaining production code in C++, C# or JAVA.
  • Asynch programming in Java, C++ or C#.
  • Familiarity with interface protocols for cross language software such as CORBA, Apache Thrift, gRPC or similar technologies.
  • Ability to take abstract problem statements and detail them out into concrete requirements and design through collaborative discussions.
  • Possess good communication skills and the ability to work in a team environment.
What will make you stand out from the crowd:
  • A passion and demonstrated track record of creating software that controls and manipulates real life hardware.
  • Deep understanding of software engineering concepts (operating systems, programming languages, OOP, design patterns etc).
  • Ability to understand complex use cases and propose technology road maps aligned with evolutionary changes to existing software.
  • Responsible for work that you are not directly contributing to.
  • Trusted stakeholder to program, marketing, and senior engineering management.

Minimum Qualifications

Bachelor's Level Degree and related work experience of 5 years or Master's Level Degree and related work experience of 3 years