Senior Software Engineer (Modbus + Go)
Віддалений* формат співпраці з території - Україна: Київ
*Ви можете працювати віддалено з території країни (або країн), для яких відкрита ця позиція.
C Programming& інші навички
We are seeking a Senior Software Engineer with strong expertise in Modbus protocols and Go to join our team building industrial IoT solutions. This role focuses on ingesting real-world machine data using Modbus RTU/TCP, normalizing it via EdgeX Foundry and transmitting it securely northbound through MQTT, OPC UA and cloud platforms. The position requires a business trip to Denmark for one to two weeks for onboarding purposes.
Чим ви будете займатися у цій ролі
- Configure and maintain the official device-modbus-go service for Modbus communication within EdgeX Foundry
- Write complex EdgeX Device Profiles in YAML to map raw Modbus register tables to logical device resources
- Build data pipelines using EdgeX Core Services and Application Services to route data to external systems
- Manage physical serial communication for Modbus RTU including daisy-chains, baud rates, parity and stop bits on Linux systems
- Handle Modbus TCP socket management, multiple client-server connections and network routing
- Parse raw 16-bit registers and decode 32-bit floating points or integers, including byte and word swapping
- Read and modify Go code to build custom functionalities for EdgeX device services
- Manage Docker containers, configure shared volumes and map serial host paths into containerized environments
- Troubleshoot complex issues spanning software, network, physical wiring and hardware layers
- Apply OT constraints awareness to avoid overloading serial networks with high-frequency polling requests
Навички
- 5+ years of experience configuring device-modbus-go service and writing EdgeX Device Profiles in YAML
- Expertise in Modbus RTU (RS-485 serial communication) and Modbus TCP (Ethernet sockets and network routing)
- Proficiency in Go with the ability to read and modify source code for custom device service functionalities
- Familiarity with C++ or Python as an alternative, provided custom wrappers have been developed
- Skills in Docker and Docker Compose for managing microservice-based containerized deployments
- Background in Linux command line, system configuration and network diagnostics on edge devices such as Raspberry Pi or industrial PCs
- Understanding of data translation and math for parsing raw registers and decoding 32-bit values
- Strong analytical and diagnostic skills to troubleshoot issues across software, network and hardware layers
- Knowledge of OT constraints and factory floor safety practices to prevent network overload