About the role
Roles & Responsibilities
Aboutthe role
You will design, implement and optimize performance-critical software in C++, working
close to the hardware on CPUs and GPUs. The work spans systems programming, parallel
computing and GPU kernel development using CUDA and HIP.
This role suits engineers who want to understand what happens beneath the abstraction
— how code maps to memory, threads and hardware — rather than only using libraries
and frameworks.
Key responsibilities
Design, develop and maintain high-performance C++ software for compute-intensive
workloads.
Write and optimize parallel code for multi-core CPUs and GPUs, including CUDA/HIP
kernels.
Profile applications, identify bottlenecks in compute, memory and I/O, and deliver
measurable speedups.
Optimize memory layout, access patterns and data movement across the memory
hierarchy.
Work with Linux systems internals: processes, threads, synchronization and virtual
memory.
Write clean, well-tested, maintainable code and take part in code and design reviews.
Benchmark, debug and validate correctness and performance across hardware
platforms.
Collaborate with the team to evaluate new hardware, toolchains and optimization
techniques.
Ideal Candidate
1Strong Software Engineer Profile with C++/Systems programming background and high-performance computing experience
2Mandatory (Experience 1): Must have 2+ years of professional experience in C/C++ development, systems programming or performance-focused engineering
3Mandatory (Experience 2): Must have experience designing and optimizing performance-critical software including memory layout, access patterns and data movement
4Mandatory (Experience 3): Must have experience with multithreaded or concurrent programming (std::thread, OpenMP, pthreads) and synchronization
5Mandatory (Tech skill 1): Must have hands-on modern C++ (C++11 and later) including memory management, pointers, templates and OOP
6Mandatory (Tech skill 2): Must have hands-on experience developing and debugging on Linux using gcc/clang, gdb, and make/CMake
7Mandatory (Tech Skill 3): Must have a solid grasp of data structures, algorithms, and their performance trade-offs
8Mandatory (Note): F2F interview at Noida office is compulsory. Candidates unwilling to attend in person must not be submitted and will not be considered.
9Preferred (Experience 1): Experience with GPU programming using CUDA or HIP/ROCm and understanding of GPU architecture (warps, memory hierarchy)
10Preferred (Experience 2): Experience with parallel programming models and HPC concepts (MPI, SIMD/vectorization)
11Preferred (Experience 3): Projects or open-source contributions in C++, compilers, or performance optimization
Skills
What happens next
A recruiter reviews your application and contacts you about next steps. You can follow application updates in your candidate portal.