T404 - Principal Engineer/ Senior Software Engineer C/C++ (Automation Machinery)
- Work arrangement
- On-site
- Occupation
- Software & IT
- Location
- Singapore, Singapore, SG
- Compensation
- Not disclosed
- Apply by
- April 14, 2027
About this role
Job Responsibilities
- Design, develop, test, debug, and maintain reliable and high-performanceindustrial automation softwareusingC++, C#, and WPF.
- UtilizeWindows APIs and relevant librariesto interface with and control hardware components.
- Develop machine control functionalities usingmotion control cardsto achieve accurate and precise motion.
- Integratedistributed I/O systemsfor sensor data acquisition and actuator control.
- Implement reliablesoftware-hardware communication protocolsto ensure efficient and stable data exchange.
- Apply advancedmultithreading, synchronization, and concurrency techniquesto optimize application performance and responsiveness.
- Implement efficientmemory managementusing technologies such as memory-mapped files, file mapping objects, and memory sections.
- Effectively leverage theC++ Standard Library, templates, and reusable componentsto improve code quality, performance, and maintainability.
- Work withWindows synchronization objects, including events and mutexes, to support reliable inter-thread communication and synchronization.
- Develop user interfaces usingWPF or WinUI, where required, to provide intuitive monitoring and machine-control functionality.
- Produceclean, well-documented, maintainable, and efficient codein accordance with software development best practices.
- Work closely withElectrical and Mechanical Engineersto understand machine requirements and translate system specifications into effective software solutions.
- Participate incode reviews, share technical knowledge, and provide constructive feedback to other developers.
- Keep up to date with the latest developments inC++, industrial automation, motion control, Windows development, and related software technologies.
Requirements
Job Requirements
- Bachelor’s degree inComputer Science, Software Engineering, Computer Engineering, or a related discipline, or equivalent practical experience.
- At least5 years of hands-on experiencedevelopingindustrial automation softwareusingC++, C#, and WPF.
- Demonstrated experience in programming and integratingmotion control cardsanddistributed I/O systemsfor industrial machinery.
- Strong knowledge ofWindows API development, system-level programming, and advancedmemory management techniques.
- Solid understanding of theC++ Standard Library (STL), including extensive use oftemplatesand reusable components.
- Practical experience withWindows synchronization and communication objects, particularlyevents and mutexes, for multithreading applications.
- Knowledge ofWindows GDI/GDI+for graphics and visualization applications is an advantage.
- Experience withBorland/Embarcadero C++ Builder and VCLplatforms is highly desirable.
- Strongproblem-solving, analytical, and critical-thinking skills, with a structured approach to troubleshooting complex software and machine-control issues.
- Excellentcommunication and collaboration skills, with the ability to work effectively with software, electrical, and mechanical engineering teams.
- Capable of workingindependentlywhile also contributing effectively within a cross-functional team environment.
- Strongattention to detailand a commitment to delivering high-quality, reliable, and maintainable software.
Interested candidates who wish to apply for the advertised position, please click 'APPLY' to submit your application
EA License No: 13C6305
Reg. No.: R1874608 (Lee Jia Hou)
For candidate who applied for the advertised position is deemed to have consented to us that we may collect, use or disclose your personal information for purpose in connection with the services provided by us