Role:
Following the KLA Product Lifecycle methods, the candidate will be required to participate in all phases of the requirements, design, and development for subsystems and development/maintain of critical system control software. The responsibilities of successful candidate as listed below:
Responsibilities:
- Work extensively with cross functional teams to gather System level requirements, translate into software requirements, design, and code.
- Follow KLA defined software development processes to develop robust, optimized, and high-performing code.
- Develop deep technical understanding of existing products/use cases and make architectural / design / code improvements on existing software.
- Ensure detailed designs, code, and unit tests are consistent, robust, and scalable.
- Work on complex problems where analysis of situations or data requires an in-depth evaluation of various solutions and innovations.
- In conjunction with the Technical Manager, identify, highlight, review and mitigate technical risks.
Requirements:
- Proficient in software design and development using C++, C#, .NET Framework, on Windows 10 / Windows Server 2019 (or above).
- Strong in Object-Oriented Analysis & Design, Design Patterns and UML.
- Strong knowledge of multi-threaded applications, concurrency and experience in developing applications that run in a distributed environment.
- Knowledge of STL, Boost Library, WinDbg/ Debugging / Profiling Tools, and Windows Internals.
- Experience in Python programming and frameworks. Experience in MS SQL Server programming desired.
- Good development experience/knowledge of software control and interfacing with hardware devices for a complex system is highly desired.
- Exposure to Software configuration / lifecycle management tools such as Engineering Workflow Management (EWM) & GitHub. Fixing Code Quality and Vulnerability issues using SonarQube.
- Required to work on all aspects of Software development including software requirements, design, coding, and testing.
- Ability to work with development teams across geographic locations. May require travel to customer locations to troubleshoot problems and provide technical support.
- Possess excellent analytical, problem solving, organizational and interpersonal skills. Must be a self-motivated learner.
- Familiarity of semiconductor industry is a big plus.
Minimum Qualifications
Candidate must have a Master's Level Degree and related work experience of 4 years; Bachelor's Level Degree and related work experience of 6 years.
Major in Computer Science / Computer Engineering / Electrical Engineering or equivalent fields of study.