

Search by job, company or skills

Job Summary:
We are seeking a highly skilled and motivated Software Engineer to join our product development team. The ideal candidate will have strong expertise in C++ and Object-Oriented Programming (OOP), with hands-on experience developing and enhancing complex systems. You will be responsible for designing, developing, and maintaining high-performance, reliable software that supports manufacturing operations
What You Will Do:
· Design, develop, and maintain moderate to highly complex applications using C++.
· Develop, enhance, and debug software modules and components.
· Apply strong OOP principles — encapsulation, inheritance, polymorphism, and abstraction — to build maintainable and scalable systems.
· Design and implement concurrent, multi-threaded C++ software for real-time or high-throughput systems.
· Contribute to improving existing modules and reusable internal frameworks and libraries
· Provide technical guidance and mentorship to junior team members.
· Participate in code reviews and provide constructive feedback to peers.
· Work with cross-functional and distributed teams to deliver integrated solutions
· Develop and maintain unit and integration tests.
· Contribute to CI pipelines and update them as required.
· Work with product owners to understand requirements and deliver solutions.
· Break down complex problems into manageable tasks.
· Participate in Agile ceremonies.
· Continuously build product and domain knowledge.
· Stay current with evolving technologies and best practices.
What You Need:
· B.E./B.Tech/M.E./M.Tech in Computer Science or related field.
· 5+ years of professional C++ software development experience.
· Knowledge of software engineering concepts and techniques
· Strong mastery of Object-Oriented Programming with hands-on application of design patterns (Factory, Observer, Strategy, Singleton, Command) and SOLID principles.
· Solid understanding of multi-threading and concurrent programming in C++ with synchronization primitives (mutexes, semaphores, condition variables).
· Experience developing or integrating with MES or similar large-scale systems.
· Familiarity with thread and memory management concepts and best-known methods (BKMs).
· Proficiency in STL, Boost libraries, and modern C++ (C++11/14/17/20) features.
· Experience with memory management, performance profiling, and optimization techniques.
· Expertise in writing unit tests using frameworks such as Google Test (GTest) or CppUnit.
· Demonstrated ability to provide technical guidance and mentor junior team members.
· Proven ability to convert complex requirements into structured tasks.
· Experience working with stakeholders in cross-functional teams.
· Experience using AI-assisted development tools to improve productivity.
· Strong ability to critically evaluate, validate, and refine AI-generated outputs to ensure accuracy, relevance, and quality.
· Curiosity and passion for learning.
What Will Give You an Edge:
· Knowledge of semiconductor manufacturing operational practices
· Knowledge of equipment communication standards and protocols used in manufacturing systems.
· Experience with manufacturing workflows, process flows, and work order management.
· Familiarity with Python or scripting languages for automation and tooling.
· Experience with CMake or Makefile-based build systems and cross-platform builds.
· Experience implementing CI/CD pipelines (e.g., Jenkins).
· Experience with tools such as Jira, Confluence, and Bitbucket.
· Experience with Agile methodologies.
Why Join Us:
At Applied Materials, we are committed to making a positive impact in the world. We are a global team that values diversity, collaboration, and innovation. We are looking for passionate and driven individuals to join us in transforming possibilities into reality. If you are looking for a challenging and rewarding career, we would love to hear from you.
Job ID: 151883369
Skills:
Jenkins, Agile Methodologies, Cmake, Makefile, Stl, Python, Multi-threading, Concurrent Programming, Boost libraries, cppunit