Applied Materials

C++ Linux - Software Engineer

Applied Materials
Apply
26 days ago
Bengaluru, IndiaStaff+

Responsibilities

  • Design and implement high-performance computing software solutions.
  • Collaborate with software engineers, product managers, and business stakeholders to translate requirements into architectural and software designs.
  • Serve as a subject matter expert in high-performance computing and unblock software engineers.
  • Profile systems, identify bottlenecks, and optimize workflows, code, and processes for improved cost of ownership.
  • Identify and mitigate technical risks throughout the software development lifecycle.
  • Lead the design and implementation of complex software components and systems.
  • Ensure software systems are scalable, reliable, maintainable, and high quality.
  • Mentor and coach junior software engineers.
  • Develop software documentation, test procedures, and troubleshooting solutions for semiconductor equipment software.
  • Work as part of a cross-functional team developing low-latency, high-throughput image-processing and deep-learning systems.

Requirements

  • 5–10 years of experience designing and coding in C/C++, preferably in a Linux environment.
  • 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.
  • 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 such as RDMA, RoCE, or InfiniBand.
  • Familiarity with microservices, containerization technologies such as Docker or Singularity, and low-latency message queues.
  • Experience with Java and Python programming.
  • Bachelor’s degree or higher in computer science or a related discipline.
  • Ability to mentor and coach junior team members and collaborate effectively across teams.

Benefits

  • Full-time regular employment.
  • Location: Bangalore, India.
  • 10% travel required.
  • Relocation eligible.
  • Supportive learning and professional-development culture with employee health and wellbeing programs.

Tech Stack

Apache AirflowApache SparkApache StormCC++DockerJavaLinuxPython

Categories

Applied Materials

About Applied Materials

10,000+ employees

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.

Contact me