
Software Engineer
Applied Materials14 hours ago
Bengaluru, IndiaSenior / Staff+
Responsibilities
- Design and implement high-performance computing software solutions.
- Collaborate with software engineers, product managers, and business stakeholders to translate requirements into software and architectural designs.
- Serve as a subject matter expert in the HPC domain and unblock software engineers.
- Profile systems, identify bottlenecks, and optimize workflows, code, 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 code following software development best practices.
- Troubleshoot software problems, develop documentation and test procedures, and communicate with internal customers.
- 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, and complexity analysis.
- In-depth experience with multithreading, thread synchronization, inter-process communication, and distributed computing fundamentals.
- Very good knowledge of operating system internals, networking, and storage systems.
- Experience with application- and system-level performance profiling tools such as vtune, Oprofiler, perf, or NVIDIA Nsight.
- Experience with low-level optimization techniques including vectorization, intrinsics, cache-aware programming, and lock-free data structures.
- Experience with GPU programming using CUDA, OpenMP, OpenACC, or OpenCL is an additional qualification.
- Knowledge of workflow orchestration software such as Apache Airflow, Apache Spark, Apache Storm, or Intel TBB flowgraph is an additional qualification.
- Experience developing distributed HPC software with parallel programming frameworks such as MPI or UCX is an additional qualification.
- Experience with HPC job scheduling and cluster management software such as SLURM, Torque, or LSF is an additional qualification.
- Knowledge of low-latency and high-throughput data transfer technologies such as RDMA, RoCE, or InfiniBand is an additional qualification.
- Familiarity with microservices architecture, containerization technologies such as Docker or Singularity, and low-latency message queues is an additional qualification.
- Experience with Java and Python is an additional qualification.
- Strong problem-solving, analytical, communication, collaboration, mentoring, and coaching abilities.
Benefits
- Full-time regular employee position in Bangalore, India.
- Supportive work culture focused on learning, development, and career growth.
- Health and wellbeing programs and employee support.
- Relocation is not eligible.
- No travel requirement is stated.
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.