
Senior Software Engineer (Modbus + Go)
Primary stack
Nice to have's
Job description
About the Position
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.
Responsibilities
- 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
Requirements
- 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
We Offer
- Opportunity to work remotely from Kyiv, Ukraine
- Business trip to Denmark for onboarding purposes
About the Company
[Company description if present]
© EPAM. This job description was sourced from the employer's public career page. TheJob is not the employer — we index the posting and route candidates to the source. All content rights and hiring decisions belong to the employer.
EPAM helps organizations innovate their business processes and rethink the way they manage their businesses so they can remain competitive in this new digital age.