Overview
Software Engineer role developing high-performance C++ software applications for semiconductor CAD and equipment components.
What you'll do
- 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.
What you'll need
- Proficiency in modern C++ (C++11/14/17) with 4–8 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.
- 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.
- Bachelor's or Master's degree in Computer Science, Software Engineering, Computer Engineering, Information Technology, Electronics, Electrical Engineering, or a related technical field.
- 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.
Nice to have
- Exposure to computational geometry.
- 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.
- Passion for technology, innovation, and continuous learning.
Details
- Location: Mumbai, India.
- Full time, assignee/regular employee type.
- Travel: Yes, 10% of the time.
- Relocation eligible: Yes.
Read the full description and apply on the company’s own careers page.