All jobs

Software Engineer (C++ / HPC / GPU Computing)

Partner company
Noida (onsite)2–6 years3 days ago

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

C++ Linux C Systems Programming GPU Computing CUDA HIP Multithreading OpenMP CMake Algorithms HPC Performance Optimization MPI LLVM Computer Architecture

What happens next

A recruiter reviews your application and contacts you about next steps. You can follow application updates in your candidate portal.