Software Engineer (C#)
Overview
We are hiring a C# Software Engineer to develop software for industrial automation and equipment control systems.
The role focuses on upper-level machine software, HMI development, PLC/equipment communication, data acquisition, and system integration. You will work closely with automation and engineering teams to develop reliable software used in real equipment environments.
Responsibilities
Develop and maintain automation equipment software using C#/.NET
Develop HMI applications using WinForms or WPF
Integrate C# applications with PLCs, controllers, and industrial equipment
Develop functions for machine operation, equipment communication, data acquisition, and real-time visualization
Support machine-control related workflows, equipment status monitoring, alarms, and system troubleshooting
Perform software requirement analysis, architecture design, testing, debugging, and performance optimization
Prepare and maintain software requirement and functional design documentation
Support equipment integration, commissioning, and technical troubleshooting when required
Requirements
Bachelor’s degree in Computer Science, Software Engineering, Automation, Electrical Engineering, Control Engineering, or related disciplines
At least 5 years of professional software development experience
Strong hands-on experience in C# and .NET Framework
Experience developing desktop/HMI applications using WinForms or WPF
Experience working with PLCs, industrial controllers, or automation equipment
Familiarity with hardware communication, Ethernet, serial communication, industrial bus communication, and related protocols
Good understanding of multithreading, delegates/events, network programming, and hardware interfaces
Experience in industrial automation, machine control, semiconductor equipment, robotics, or similar environments is preferred.
Willing to travel internationally when required