Software Engineer
KLA is seeking a skilled Software Engineer to join our team. This role is ideal for a professional with expertise in C/C++ and Linux development, focusing on performance engineering, debugging, and building fault-tolerant, scalable software in distributed environments.
Responsibilities:
- Develop fault-tolerant and extendable software using object-oriented principles and design patterns.
- Utilize application/system profiling utilities like vTune, Nvidia Nsight, and Linux native utilities for performance engineering.
- Employ gdb and Linux system utilities for debugging and troubleshooting timing-sensitive distributed applications.
Skills:
- Expertise in C/C++, Linux Development, and Performance Engineering.
- Hands-on Experience in Application/System Profiling Utilities like vTune, Nvidia Nsight, and Linux native utilities.
- Good debugging skills in using gdb and Linux system utilities to troubleshoot timing-sensitive distributed applications.
- Valuable knowledge of HPC system components — including CPU/GPU architecture, scalable/distributed storage, high-bandwidth interconnects, and cloud-based computing architectures.
- Proficiency in Python and Shell scripting languages.
- Experience with containerization technologies (Docker/Singularity) for packaging software services along with Kubernetes (Preferred).
- Proficiency in parallel programming (MPI, SLURM, OPENMP, UCX, etc.) (Preferred).
- Solid understanding and practical experience with Linux OS, kernel features, and networking basics (Preferred).
- Familiarity with deep learning and machine learning frameworks and workflows (Preferred).
Qualifications:
- Master's Level Degree; or Bachelor's Level Degree.
📌 Software Engineer (Chennai)
🏢 KLA
📍 Chennai