Sobre este puesto de Industrial Software Systems Engineer en Core Laboratories
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 will be highly valued.
KNOWLEDGE, SKILLS & ATTRIBUTES
Strong proficiency in C, C++, Python and C#, with the ability to produce structured, readable, testable and maintainable code.
Knowledge of object-oriented programming, modular software architectures, multithreading, event-driven systems and error-handling techniques.
Experience designing graphical user interfaces (GUIs) for industrial applications running on PCs or embedded systems.
Strong knowledge of industrial communication protocols and interfaces, including Modbus TCP, TCP/IP, serial communications and EtherCAT. Knowledge of CAN, OPC UA, Profinet or MQTT would be advantageous.
Knowledge of embedded systems, real-time systems, microcontrollers, I/O management and hardware interfaces.
Good understanding of industrial networks, packet analysis, and requirements relating to latency, determinism and system availability.
Solid knowledge of image processing and computer vision techniques, including image acquisition, calibration, filtering, segmentation, dimensional measurement, object detection and object tracking.
Experience with vision libraries such as OpenCV. Familiarity with camera manufacturer SDKs would be an advantage.
Knowledge of software testing methodologies, continuous integration (CI), Git version control and issue tracking systems.
Familiarity with application and industrial cybersecurity principles, including authentication, authorisation, encryption, secret management, software signing and software integrity protection.
Experience with software licensing technologies, including online activation, offline activation, node-locked licensing, licence servers and hardware security keys (dongles).
Ability to design configurable internal tools or low-code platforms for generating graphical user interfaces and connecting automation variables.
Knowledge of plugin architecture, component libraries, templates, configuration serialisation and backward-compatibility management.
Ability to diagnose and troubleshoot issues involving software, networking, electronics and physical equipment.
Strong discipline in version control, documentation, validation and change traceability.
Self-motivated, technically curious, with strong prioritisation skills and the ability to work effectively within multidisciplinary teams.
Excellent communication skills, with the ability to clearly explain technical solutions and procedures.
Technical English reading and writing skills are essential; verbal communication skills in an international project environment are desirable.
Willingness to undertake occasional travel to customer or partner sites as required by projects.
COMPETENCIES
Execution Excellence: deliver impact through practical problem-solving, finding practical solutions to navigate and overcome obstacles; engagement with stakeholders, achieving shared goals using effective interpersonal skills; and purposeful execution, implements actionable and adaptive plans to achieve results.
Problem Solving: Structure diagnostics, identify root causes, and propose practical solutions compatible with industrial constraints.
Digital Agility: utilize technology to enhance operational efficiency and prepare the organization to adopt digital practices.
Customer Focus: Understand real machine usage and deliver clear, efficient, and user-friendly interfaces.
Leading Self: Has a self-awareness of how actions are perceived and how to respond to feedback. Leading with empathy towards others and understanding the world from their point of view.
Communication & Collaboration: Share technical decisions, document interfaces thoroughly, and collaborate effectively with multiple engineering disciplines.
Reliability and Discipline: Adhere to software development practices, configuration management procedures, testing strategies, and project commitments.
Adaptability: Work across a broad range of topics, from high-level software applications to field diagnostics and embedded systems.
Core Laboratories, including all of its affiliated and related entities, is an equal opportunity employer and is committed to creating an inclusive environment for everyone. Employment decisions are made regardless of characteristics including, but not limited to, race, color, sex, sexual orientation, gender identity, national origin, age, disability, religion, genetic information, protected veteran or uniformed service member status, and any other characteristic protected under applicable law.