03 Nov
|
Applied Materials
|
Mumbai
03 Nov
Applied Materials
Mumbai
Job Summary
We are seeking an experienced Software Engineer with robust expertise in C++ development to design, develop, and maintain high-performance software applications.
The ideal candidate should have a solid foundation in software engineering principles, object-oriented design, multithreaded programming, and system-level development.
The role requires close collaboration with cross-functional teams to deliver scalable, reliable, and maintainable software solutions.
Key Responsibilities
- Design, develop, test, and maintain high-quality software features for semiconductor CAD applications using modern C++.
- Develop efficient, reusable, and reliable code with a focus on performance and maintainability, following established coding standards and best practices.
- Implement and optimize algorithms for layout data processing, geometry operations, and pattern matching under technical guidance.
- Translate design specifications and requirements into working, well-documented software.
- Own the development of software features, including implementation, unit testing, and integration testing.
- Analyze and resolve software defects and performance issues, and implement robust bug fixes.
- Contribute to software quality through code reviews, unit testing, and test automation.
- Participate in technical design discussions and design reviews.
- Work closely with product management, QA, and engineering teams to deliver customer-focused solutions.
- Prepare and maintain software documentation, test procedures, and release notes.
Required Skills
Technical Skills
- Proficiency in modern C++ (C++11/14/17)
with 48 years of software development experience.
- Good understanding of Object-Oriented Programming (OOP) concepts and common design patterns.
- Working knowledge of STL, templates, smart pointers, and memory management.
- Solid understanding of data structures and algorithms; exposure to computational geometry is a plus.
- Experience developing multi-threaded or concurrent applications.
- Understanding of Operating Systems (Windows/Linux).
- Experience with source control systems such as Git.
- Familiarity with debugging, profiling, and performance optimization techniques.
Preferred Skills
- Familiarity with microservices architecture.
- Familiarity with gRPC and REST APIs.
- Familiarity with Docker and Kubernetes.
- Familiarity with CI/CD pipelines and automated testing frameworks.
- Familiarity working with large-scale data processing systems
Desired Candidate Profile
- Strong analytical and problem-solving skills.
- Good verbal and written communication skills.
- Ability to work effectively in a collaborative, Agile development environment.
- Self-motivated and capable of driving tasks to completion with limited supervision.
- Strong ownership, accountability, and customer focus.
- Passion for technology, innovation, and continuous learning.
Education
Bachelor's or Master's degree in Computer Science, Software Engineering, Computer Engineering, Information Technology, Electronics, Electrical Engineering, or a related technical field.
Additional Information
- Time Type: Full time
- Employee Type: Assignee / Regular
- Travel: Yes, 10% of the Time
- Relocation Eligible: Yes
- Location: Mumbai, IND
📌 C++ Developer (Mumbai)
🏢 Applied Materials
📍 Mumbai