
C++ Linux - Software Engineer
Applied Materials1 day 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 an HPC subject matter expert 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 extensible.
- Mentor and coach junior software engineers.
- Develop, debug, document, and test software solutions for semiconductor equipment components and devices.
- Troubleshoot software problems and communicate with internal customers about project requirements.
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, interprocess communication, and distributed computing fundamentals.
- Strong knowledge of operating-system internals, networking, and storage systems.
- Experience with application- and system-level performance profiling.
- Experience with low-level optimization techniques including vectorization, intrinsics, cache-aware programming, and lock-free data structures.
- Bachelor’s degree or higher in computer science or a related discipline.
- 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, containerization technologies, 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 employment in Bangalore, India.
- Supportive work culture with learning, development, and career-growth opportunities.
- Health and wellbeing programs and employee support.
- No relocation eligibility 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.