Job Description
Software Engineer KLA's Global Products Group (GPG) is seeking a Software Engineer to contribute to our Surfscan group. This is a crucial role for an engineer passionate about designing, developing, integrating, and maintaining software features for large semiconductor products . You'll tackle complex problems, ensure robust and scalable designs, and collaborate with multi-site and cross-functional teams to accelerate the delivery of tomorrow's electronic devices. Responsibilities - Design, develop, integrate, and maintain software features for large semiconductor products. - Interact with multi-site team members (India & USA) along with non-software teams during different phases of the software product life cycle. - Work on complex problems where analysis of situations or data requires an in-depth evaluation of various factors. - Ensure that detailed designs, code, and unit tests are consistent, robust, future-proof, and scalable. - Understand and make design and architectural improvements on existing software. - Participate in requirements definition and review process. - Provide technical assessment of the impact of any changes to product requirements. - Provide technical expertise to the estimation process as input to the project plan. - In conjunction with the Technical Manager, identify, highlight, review, and mitigate technical risks. - Contribute to the continued improvement of the organization's development procedures , by looking for opportunities for improvement and proposing ideas for solutions. Skills - Strong development experience on C++/C++11/C under Linux. - Good understanding of Linux Operating System Concepts. - Proven experience in using UML, OOP, and OOD design methodologies is highly relevant. - Strong fundamentals on Data structures and algorithms. - Good understanding of multi-threading, multicore programming concepts is a must. - Good knowledge of Linux operating system internals like file system, threads, processes, IPC. - Creative, result-oriented, disciplined, highly motivated, and able to work well individually and as part of a global team (India, USA, field, etc.) and understand all phases of software engineering. - Exercises judgment within broadly defined practices and policies in selecting methods, techniques, and evaluation criteria for obtaining results. - Good Communication, Interpersonal skills, and Team coordination skills are required. - Quick learner, problem analysis, and solving ability are essential. - Good understanding of using STL, Boost library (plus). - Experience in Python and Linux shell scripting (big advantage). - Troubleshooting experience using GDB (added advantage). - VC++ Windows experience (plus). - Preferred exposure/experience with technologies namely Kubernetes, Docker, containers, virtualization techniques and technologies. - Experience with Messaging Framework such as Kafka, ActiveMQ, or NATS (preferred). - In-depth knowledge of Python scripting (preferred). - Good Understanding of High-Performance Container Networking (preferred). Qualifications - Bachelor's degree in Computer Science / Electronics / Electrical or equivalent field; or Master's degree in Computer Science / Electronics / Electrical or equivalent field. Skills: containerization , Docker, Oop, Kubernetes, Data Structures Experience: 3.00-6.00 Years
Get AI-Matched to This Job
Upload your resume and our AI will score how well you match this and thousands of similar roles.