Collaborate in a team setting to develop new features, develop prototypes and support field issues in a CI/CD environment
Key member of a small team of software engineers supporting full software lifecycle activities for the Inspection Business Unit (IBU)
Participate in New Product Development (NPD) activities by collaborating in a team setting to develop new features, develop prototypes and support field issues in a CI/CD environment
Develop and maintain software applications that integrate with complex semiconductor handling systems
Collaborate with Onto Applications team and customers to help define customer specific enhancements and new features
Conduct thorough testing and debugging of software to ensure high-quality and reliable operation
Participate in the design and implementation of new features and functionalities
Perform requirement analysis and capture, develop detailed SW designs, code and participate in helping develop test plans
Perform design/code reviews for all deliverables, collaborating with the systems engineers, other software developers, software test engineers, and other technical staff
Optimize software performance and ensure scalability
Document software designs, processes, and troubleshooting steps
Stay updated with the latest industry trends and technologies in software development and hardware-software integration
Support software and tool integration efforts at customer sites and in cleanroom environments, identifying and resolving system-level issues
Participate in on-site debugging and issue resolution in collaboration with field engineers and application teams
Requirements
Bachelor’s or Master’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field
Proven experience (5+ years for senior) in software development for highly technical applications
Minimum 3 years of professional experience in software development using C# and the .NET ecosystem
Hands-on experience in image processing or machine vision is required
Strong troubleshooting skills in both development and deployment environments
Solid understanding of modern object-oriented programming principles
Experience in developing and debugging multi-threaded and distributed applications
Familiarity with hardware-software integration and experience working with electromechanical systems or automated tools
Effective verbal and written communication skills in English
Strong analytical thinking and creative problem-solving capabilities
Demonstrated self-motivation, independence, and initiative in tackling technical challenges
Capable of self-directed learning and adapting to new technologies via OJT or technical reading
Experience supporting debugging and troubleshooting efforts in customer or production environments