We are hiring on behalf of our client, a leading global technology company specializing in semiconductor manufacturing, inspection systems, and advanced engineering solutions.
Job Overview
Hiring a Software Engineer to build and optimize high-performance distributed systems on Linux using C++. Focus on HPC frameworks, scalability, and performance tuning across CPU/GPU environments.
Key Responsibilities
Design and develop high-performance distributed software systems for HPC environments
Build and optimize Linux-based C/C++ components for compute-intensive workloads
Implement parallel computing frameworks using MPI, OpenMP, UCX, or similar
Containerize and orchestrate workloads using Docker/Singularity with Kubernetes or SLURM
Profile, debug, and tune performance using tools like VTune, Nsight, perf, and gdb
Collaborate with hardware, algorithms, and systems teams for integrated solutions
Drive code quality, architecture discussions, and engineering best practices
Mentor team members on performance optimization and system debugging
Must-Have & Preferred Qualifications
4–8 years of experience in software development (HPC / distributed systems preferred)
Minimum 4 years of hands-on experience in C++ and Linux development
Strong understanding of IPC, socket programming, and Linux kernel concepts
Experience in multi-threading, concurrency, and systems-level programming
Hands-on experience with performance profiling and debugging tools (VTune, Nsight, perf, gdb)
Experience with Docker/Singularity and orchestration frameworks (Kubernetes/SLURM)
Knowledge of CPU/GPU architectures and distributed computing systems
Experience with MPI, OpenMP, UCX, SHMEM, or similar parallel programming models
Exposure to GPU computing (CUDA / ROCm)
Familiarity with ML/Deep Learning pipelines
Proficiency in Python and Bash scripting
Experience with microservices, observability tools, or large-scale deployments