Software Engineer
Summary
Develops and maintains handler control software for semiconductor testing machines using C# (.NET) and C++ — machine sequences, device control, and operator GUIs — integrating motion control (EtherCAT/TwinCAT), SECS/GEM host communication, and vision/tester equipment, with hands-on debugging on the production floor.
Salary: $5,000 – $6,000 per month
About the role
Develop and maintain handler control software in C# (.NET) and C++, including machine sequences, device control and operator GUI, to ensure efficient and reliable machine operation. Contribute to a common software platform shared across multiple machines, promoting code reuse, modularity and consistency. Integrate motion control systems using EtherCAT and TwinCAT for precise, synchronised equipment movement. Implement host communication using SECS/GEM to enable reliable data exchange with factory host systems. Integrate vision applications, testers and other vendor equipment through APIs to extend machine capabilities.
Key responsibilities
Develop and maintain handler control software in C# (.NET) and C++, including machine sequences, device control and operator GUI, to ensure efficient and reliable machine operation
Contribute to a common software platform shared across multiple machines, promoting code reuse, modularity and consistency
Integrate motion control systems using EtherCAT and TwinCAT for precise, synchronised equipment movement
Implement host communication using SECS/GEM to enable reliable data exchange with factory host systems
Integrate vision applications, testers and other vendor equipment through APIs to extend machine capabilities
Collaborate with mechanical, electrical, vision and process engineers to support machine bring-up, debugging and customer buy-off
Troubleshoot hardware-software integration issues hands-on at machine level, including on the production floor
Write clean, documented and testable code; participate in code reviews and release planning to maintain software quality
Support multi-language user interfaces, including English and Chinese, to accommodate diverse users
About you
Degree or Diploma in Computer Engineering, Computer Science, Electrical/Electronic Engineering, Mechatronics or a related field
At least 2 years of software development experience for industrial machines, automation equipment or semiconductor equipment
Proficient in C# (.NET) and C++, with a willingness to work primarily in C#
Strong understanding of object-oriented design, multithreading and event-driven system architectures
Ability to work hands-on with real machines and troubleshoot hardware-software integration issues
Experience with semiconductor handlers, test handlers, pick-and-place, or die/wafer handling equipment (advantageous)
Experience with EtherCAT, TwinCAT, Beckhoff or other motion control technologies (advantageous)
Experience implementing SECS/GEM communication protocols (advantageous)
Familiarity with WPF/WinForms or modern .NET UI frameworks (advantageous)
Experience integrating vision systems, testers or other third-party equipment (advantageous)