Introduction
The Equans Smart Factory (ESF) software product is a state‑of‑the‑art Manufacturing Execution System used by more than 130 factories worldwide. Its applications vary from feed and food production facilities to chemical plants. Over the past twenty years, a wide variety of functionalities and communication interfaces has been developed.
With origins tracing back to 1999, the MQTT protocol has lately seen an increase in demand in the fields where the ESF is active. This calls for the need to enhance the MQTT connectivity capabilities in the ESF, including extensions that standardize payload (e.g. Sparkplug) and validation against industry standard brokers (e.g. HiveMQ, EMQX, Mosquitto), thus laying the foundation for implementing Unified Namespace (UNS) in the ESF.
Keywords: IIoT, pub-sub, MQTT, Sparkplug, Unified Namespace, machine to machine, Industrial Automation (MES, SCADA), Industry 4.0, software product development
Technologies: Java, Python, communication protocols
Tools: Jira, Confluence, Github, Eclipse/IntelliJ
Description
Your assignment will be to open ESF up to the MQTT ecosystem. This covers all grounds: define use cases, set requirements, make architectural choices, select third party technologies, develop code, set up a test environment, demonstrate to stakeholders, deliver documentation etc.
This assignment is for people that are curious, self-driven, technology savvy and not afraid of going through moments of unclarity and doubts. As this is a product development that may span multiple periods, you will either pioneer in this field, or advance the development from its current state.
The team
You will work in a team of ten software engineers (medior and senior) in the Industrial Automation team at Equans Digital. The team is located in Zaandam, less than 15 minutes away from central Amsterdam by train.
We work according to a light Scrum approach, and are close to our main stakeholders (project and service engineers). This assures early and direct communication, allowing us to stay focused on customer needs. You will receive guidance from experienced engineers, while maintaining the freedom to shape your research and project direction. Reviewing of each others work is embedded in the process, as are demos, whiteboard sessions, and internal software development team meetings.