Job Responsibilities
- 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#.
- Write high-quality, maintainable, and testable code and conduct code reviews.
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 optimization
- 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.
- Build strong customer relationships by understanding their technical challenges and providing effective solutions.
Technical research and innovation
- Track and introduce advanced software technology and development practices in the industry to continuously enhance product competitiveness.
Job Requirements
Educational background and experience
- Bachelor's/Master's in Computer Science, Software Engineering, or related field.
- More than 5 years of practical experience in commercial software development using C#, and at least 3 years of development experience in precision equipment, industrial automation, instrumentation, or related fields.
- Experience in packaging, optoelectronic device manufacturing, semiconductor equipment or similar high-precision automation equipment software development is preferred.
Professional skills
- Proficient in C# and .NET (.NET Core/.NET 5+) and .NET Framework: Gain a deep understanding of language features, memory management, multithreading, asynchronous programming, and more.
- Have practical experience in integrating with hardware devices, familiar with industrial communication protocols such as serial communication, TCP/IP, Modbus, etc.
- Having extensive experience in WinForms or WPF development, capable of building complex and responsive desktop application interfaces.
- Familiar with design patterns, object-oriented design, dependency injection, unit testing, etc.
- Proficient in using motion control (such as Leisai, ACS, GuGao) and familiar with the development integration of machine vision (such as Cognex, Halcon, OpenCV).
- Have experience in database development (SQL Server, MySQL, etc.).
- Have knowledge of C++/CLI or experience in mixed programming with C++and C#.
- Proficient in using version control tools such as Git.
- Understand RPC frameworks such as WCF and gRPC.