Job Responsibilities
- Design, develop, test, and debug robust and efficient industrial automation software using C++ , C# & WPF.
- Utilize Windows API and libraries for interaction with hardware components.
- Program machine functionalities using motion control cards for precise movement control.
- Integrate with distributed I/O systems to gather sensor data and control actuators.
- Implement robust communication protocols for data exchange between software and hardware components.
- Leverage advanced threading techniques and synchronization mechanisms for optimal application performance.
- Employ advanced memory management practices, including memory-mapped files, file mapping objects, and memory sections, to ensure efficient resource utilization.
- Utilize the C++ Standard Library and templates effectively for code optimization and reusability.
- Understand and utilize Windows objects like events and mutexes for thread synchronization and communication.
- (Optional) Develop user interfaces using frameworks like WPF or WinUI to provide a user-friendly experience for monitoring and control (if applicable).
- Write well-documented, maintainable, and efficient code adhering to best practices.
- Collaborate with electrical engineers and mechanical engineers to understand system requirements and ensure software meets functional specifications.
- Participate in code reviews and provide constructive feedback to fellow developers.
- Stay up-to-date with the latest advancements in C++, industrial automation technologies, and relevant libraries.
Job Requirement:
- Bachelor’s degree in computer science, Software Engineering, or a related field (or equivalent experience).
- Minimum 8 years of experience developing industrial automation software using C++, C# & WPF.
- Proven experience with programming motion control cards and distributed I/O systems.
- Strong understanding of Windows API development and memory management techniques.
- In-depth knowledge of the C++ Standard Library and its functionalities, including templates.
- Experience with Windows objects like events and mutexes.
- Familiarity with Windows GDI and GDI+ is a plus (for graphics-related tasks).
- Experience with Borland/Embarcadero C++ Builder VCL platforms is a strong plus.
- Excellent communication, collaboration, and problem-solving skills.
- Ability to work independently and as part of a cross-functional team.
- Strong analytical and critical thinking skills.
- Attention to detail and a commitment to quality.