Overview
Design, develop and maintain C++ software for Manufacturing Execution Systems and Equipment Automation in the semiconductor and display equipment domain, and lead small to medium technical projects.
What you'll do
- Design, develop and maintain complex software solutions for Manufacturing Execution Systems (MES) and Equipment Automation (EA).
- Analyze business and system requirements and translate them into scalable software architecture, detailed design specifications, and implementation plans.
- Develop high-quality, maintainable, well-documented software using C/C++, C#, .NET, and related technologies following established coding standards and best practices.
- Own software features throughout the development lifecycle, including design, implementation, unit testing, integration testing, deployment, and post-release support.
- Develop and maintain software documentation, design specifications, test procedures, and release notes.
- Troubleshoot, analyze root causes, and resolve complex software issues across distributed systems; design and implement robust bug fixes and performance improvements.
- Define and execute software verification and validation strategies, including test plans for simulators, test benches, laboratory environments, and production systems.
- Participate in code reviews, design reviews, and architectural discussions to ensure software quality, reliability, scalability, and maintainability.
- Collaborate with cross-functional teams, including product management, quality assurance, and customer support teams.
- Communicate effectively with internal and external customers for requirements gathering, project planning, issue resolution, and technical troubleshooting.
- Contribute to continuous improvement initiatives by identifying opportunities for productivity enhancements and software modernization.
- Mentor junior engineers and provide technical guidance on software design, development practices, and problem-solving methodologies.
- Lead small to medium-sized technical projects and drive deliverables to completion with minimal supervision.
What you'll need
- Strong understanding of Operating Systems (Windows/Linux), Networking fundamentals and protocols, Data Structures and Algorithms, Object-Oriented Design and Design Patterns, and Inter-Process Communication (IPC) and RPC technologies.
- Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, Information Systems, Cybersecurity, Mathematics, or a related technical field.
- 10+ years of software development experience in enterprise, industrial automation, MES, manufacturing, or related domains.
Nice to have
- Master's degree in Computer Science, Software Engineering, or a related field.
- Experience in Manufacturing Execution Systems (MES), Factory Automation, Semiconductor Equipment Software, or Industrial Control Systems.
- Experience with distributed systems, service-oriented architectures, and modern software development methodologies.
- Familiarity with CI/CD pipelines, DevOps practices, automated testing, and source control systems.
- Strong understanding of software architecture principles and system integration.
- Demonstrated ability to lead technical initiatives, influence design decisions, and drive engineering excellence.
- Proven leadership skills with experience leading small projects, mentoring engineers, and coordinating cross-functional teams.
- Strong knowledge of industry best practices, software quality standards, secure coding practices, and business processes.
Details
- Location: Chennai, India.
- Time type: Full time; employee type: Assignee / Regular.
- Relocation eligible: Yes.
Read the full description and apply on the company’s own careers page.