Responsible for designing and implementing High performance computing software solutions for the organization
Work closely with cross-functional teams, including software engineers, product managers, and business stakeholders, to understand requirements and translate them into architectural/software designs that meet business needs
Coding and developing quick prototypes to establish designs with real code and data
Subject Matter expert to unblock software engineers in the HPC domain
Profile systems to understand bottlenecks, optimize workflows and code and processes to improve cost of ownership
Conduct technical reviews and provide guidance to software engineers during the development process
Identify and mitigate technical risks and issues throughout the software development lifecycle
Evaluate and recommend appropriate technologies and frameworks to meet project requirements
Lead the design and implementation of complex software components and systems
Ensure that software systems are scalable, reliable, and maintainable
Mentor and coach junior software architects and engineers
Requirements
7 to 15 years of experience in Design and coding in C/C++ preferably in Linux Environment
Very good knowledge Data structure and Algorithms and complexity analysis
Experience in developing Distributed High Performance Computing software using Parallel programming frameworks like MPI, UCX etc.
In depth experience in Multi-threading, Thread Synchronization, Inter process communication, and distributed computing fundamentals
Very Good knowledge of Computer science fundamentals like, Operating systems internals (Linux Preferred), Networking and Storage systems
Experience in performance profiling at application and system level (e.g. vtune, Oprofiler, perf, Nividia Nsight etc.)
Experience in low level code optimization techniques using Vectorization and Intrinsics, cache-aware programming, lock free data structures etc.
Experience in GPU programming using CUDA, OpenMP, OpenACC, OpenCL etc.
Familiarity with microservices architecture and containerization technologies (docker/singularity) and low latency Message queues
Excellent problem-solving and analytical skills
Strong communication and collaboration abilities
Ability to mentor and coach junior team members
Experience in Agile development methodologies.
Tech Stack
Docker
Linux
Microservices
Benefits
Supportive work culture
Programs and support for personal and professional growth