SUMMARY
The Industrial Software, Machine Vision and Embedded Systems Engineer is responsible for designing, developing, testing and maintaining software applications used for the control, supervision, monitoring and measurement of industrial equipment. The role encompasses the development of graphical user interfaces, machine control software, industrial communications and embedded systems software.
The position also includes the development of machine vision solutions for measurement, inspection, object detection and tracking using camera-based systems and image processing technologies.
Working closely with R&D, Automation, Electronics, Mechanical Engineering and After-Sales Service teams, the role requires the ability to translate functional requirements into reliable, scalable, well-documented and maintainable software architectures that support industrial products and systems throughout their lifecycle.
DUTIES & RESPONSIBILITIES
- Analyze functional and technical requirements relating to industrial equipment control, supervision, monitoring, and data acquisition systems.
- Define software architecture, subsystem interfaces, data structures, communication frameworks, and diagnostic mechanisms.
- Design, develop, test, and maintain software applications using C, C++, Python, and C#, selecting appropriate technologies based on project requirements.
- Develop intuitive, robust graphical user interfaces for machine operation, configuration, real-time monitoring, alarm management, historical data analysis, recipe management, and maintenance activities.
- Design and integrate embedded software for microcontrollers, industrial computers, and real-time or resource-constrained systems.
- Develop and implement industrial communication solutions using protocols such as Modbus TCP, TCP/IP, EtherCAT, serial communications, and other project-specific interfaces, ensuring reliability, synchronization, error handling, recovery, and performance.
- Integrate software with PLCs, drives, sensors, actuators, data acquisition systems, and industrial instrumentation.
- Develop machine vision solutions for image acquisition, calibration, inspection, dimensional measurement, object detection, and tracking applications.
- Select and configure cameras, lenses, lighting systems, and acquisition hardware to meet performance and application requirements.
- Develop, validate, and optimise image processing algorithms, assessing performance, accuracy, repeatability, and operational limitations.
- Perform unit, integration, commissioning, and validation testing to ensure software quality, reliability, and readiness for deployment.
- Diagnose and resolve software defects, communication failures, and system performance issues identified during development, testing, or operation at customer sites.
- Apply software engineering best practices, including version control, code reviews, change traceability, and release management.
- Create and maintain technical documentation, including software architecture specifications, source code documentation, communication protocols, installation guides, user manuals, test plans, and validation reports.
- Provide technical support to internal stakeholders and participate in customer commissioning, troubleshooting, and technical assistance activities as required.
- Ensure compliance with applicable quality, cybersecurity, machine safety, and confidentiality requirements.
- Design, implement, and maintain software licensing solutions, including online and offline activation mechanisms, to control application usage and protect intellectual property.
- Apply secure software development practices, including authentication, authorisation, encryption, secret management, software integrity protection, logging, and controlled software updates.
- Develop and maintain an internal low-code graphical interface platform that enables Automation Engineers to create, configure, and deploy machine operator interfaces.
- Design the platform using a modular architecture incorporating reusable components, templates, variable configuration tools, industrial protocol connectors, and validation mechanisms.
- Train and support users of the platform, gather feedback, and drive its continuous improvement and evolution.
- Monitor developments in software engineering, embedded systems, industrial communications, cybersecurity, and machine vision technologies to support innovation and continuous improvement.
QUALIFICATIONS
- Engineering degree or Master's degree (MSc) in Computer Science, Industrial Computing, Embedded Systems, Automation Engineering, Machine Vision, or a related technical field.
- Significant previous experience in industrial software development is preferred.
- Experience working with industrial machinery, instrumentation, or test bench environments would be advantageous.
- A technical portfolio, industrial projects, or demonstrable achievements highlighting expertise in software development, industrial communications, and machine vision