
C++ Linux - Software Engineer
Applied Materials4 days ago
Bengaluru, IndiaSenior / Staff+
Responsibilities
- Design and implement high-performance computing software solutions.
- Translate requirements into architectural and software designs with cross-functional teams.
- Serve as an HPC subject-matter expert and unblock software engineers.
- Profile systems, identify bottlenecks, and optimize code, workflows, and processes for improved cost of ownership.
- Lead the design and implementation of complex, scalable, reliable, and maintainable software components and systems.
- Identify and mitigate technical risks throughout the software development lifecycle.
- Develop high-quality, maintainable, and extensible software features.
- Mentor and coach junior software engineers.
Requirements
- 5 to 10 years of experience designing and coding in C/C++, preferably in a Linux environment.
- Bachelor's degree or higher in computer science or a related discipline.
- Strong knowledge of data structures, algorithms, complexity analysis, operating-system internals, networking, and storage systems.
- Experience with multithreading, thread synchronization, interprocess communication, and distributed-computing fundamentals.
- Experience with application- and system-level performance profiling tools such as VTune, OProfiler, perf, and NVIDIA Nsight.
- Experience with vectorization, intrinsics, cache-aware programming, lock-free data structures, and other low-level code optimization techniques.
- Experience with GPU programming using CUDA, OpenMP, OpenACC, or OpenCL.
- Knowledge of workflow orchestration software such as Apache Airflow, Apache Spark, Apache Storm, or Intel TBB Flowgraph.
- Experience developing distributed HPC software with parallel-programming frameworks such as MPI or UCX.
- Experience with HPC job scheduling and cluster-management software such as SLURM, Torque, or LSF.
- Knowledge of low-latency and high-throughput data-transfer technologies including RDMA, RoCE, and InfiniBand.
- Familiarity with containerization technologies such as Docker or Singularity and low-latency message queues.
- Experience with Java and Python programming.
- Strong problem-solving, analytical, communication, collaboration, mentoring, and coaching abilities.
Benefits
- Full-time regular employee position in Bangalore, India.
- Relocation eligible.
- Approximately 10% travel required.
- Supportive work culture with learning, development, wellbeing, and employee support programs.
About Applied Materials
Applied Materials builds semiconductor and display manufacturing equipment and related materials engineering technologies used by chip and flat-panel makers. It sells capital tools, process technology, and lifecycle services and software to support high-volume wafer fabrication and display production worldwide. Founded in 1967 and headquartered in Santa Clara, California, the company is publicly traded on NASDAQ under the ticker AMAT.