Software Engineer
About the Company
Our client is a Singapore-headquartered technology company specialising in advanced test equipment for the optical communications and semiconductor industries.
Responsibilities
Design and Development: Responsible for the architecture design, core module coding, and implementation of high-end chip testing equipment control software and human-computer interaction interface. Develop stable and efficient device control logic, data processing, and communication functions using C#.
Hardware Integration and Drivers Work closely with hardware engineers to integrate and debug various hardware components such as motion control cards, vision systems, sensors, IO modules, cameras, etc. Develop or package drivers and communication interfaces for underlying hardware devices (such as serial ports, Ethernet, GPIB interactions, etc.).
Performance and Stability Optimzation Analyze and optimize software performance to ensure that the system meets the requirements of high real-time performance and high throughput. Resolve complex concurrency, memory management, and system integration issues to enhance software stability and reliability.
Full Life-Cycle Participation Participate in the complete Life-Cycle of the product from requirement analysis, design, development, testing to deployment and launch. Write relevant technical documents, including design documents, interface documents, and user manuals. Take primary responsibility for software deployment, integration, and commissioning at customer sites worldwide (including Asia, Europe, and the Americas). Provide expert-level troubleshooting and rapid resolution of complex technical issues directly at customer facilities.
Requirements
- Bachelor's/Master's Degree in Computer Science, Software Engineering or a related discipline.
- More than 5 years of commercial C# software development experience.
- At least 3 years of software development experience within precision equipment, industrial automation, instrumentation or a related environment.
- Strong proficiency in C#, .NET/.NET Framework, multithreading and asynchronous programming.
- Hands-on experience integrating software with hardware devices.
- Familiar with industrial communication protocols including serial communication, TCP/IP and Modbus.
- Experience developing desktop applications using WinForms and/or WPF.
- Familiar with object-oriented design, design patterns, dependency injection and unit testing.
- Experience integrating motion-control and/or machine-vision systems such as Cognex, Halcon or OpenCV.
- Experience with SQL Server, MySQL or other databases.
- Knowledge of C++/CLI or C++/C# mixed programming will be advantageous.
- Familiar with Git and software version-control practices.
- Knowledge of WCF, gRPC or similar RPC frameworks will be advantageous.
- Experience within semiconductor equipment, optoelectronics, packaging or high-precision automation will be highly advantageous.
- Willing and able to travel internationally for customer-site deployment, commissioning and technical support.