Lead Software Engineer (Modbus + Go)
Company: EPAM Systems
Location: Location not specified (Remote)
Type: Full-time
Remote: Yes
Posted: 2026-07-24
About this role
We are seeking a
Lead Software Engineer
specializing in
Modbus
and
Go
to join our team building industrial IoT solutions. You will ingest real-world machine data using Modbus RTU/TCP, normalize it via EdgeX Foundry and transmit it securely northbound through MQTT, OPC UA and cloud platforms.
*Please note that this role requires a business trip to Denmark for a week or two for onboarding purposes.*
*Feel free to work remotely from anywhere across Lithuania or connect with colleagues at our Vilnius and Kaunas offices.*
Responsibilities
- Configure and maintain the device-modbus-go service for Modbus RTU/TCP communication
- Write YAML Device Profiles mapping raw Modbus register tables to logical device resources
- Build data pipelines using EdgeX Core Services and Application Services to route data northbound
- Manage Modbus RTU serial communication including daisy-chains, baud rates, parity and stop bits
- Handle Modbus TCP socket management, multiple client-server connections and IP addressing
- Parse raw 16-bit registers to decode 32-bit floats and integers, including byte/word swapping
- Modify Go source code to build custom device service functionalities
- Deploy Docker containers, configure shared volumes and map serial host paths
- Troubleshoot issues across software, network and physical wiring layers
- Respect OT constraints to avoid disrupting factory floor operations
- Travel to Denmark for a week or two for onboarding purposes
Requirements
- 5+ years of experience configuring EdgeX device services and Modbus device profiles
- At least 1 year of relevant leadership experience
- Knowledge of Modbus RTU (RS-485) and Modbus TCP protocols
- Proficiency in Go (preferred) with the ability to read and modify source code for custom device service functionalities, or expertise in C++ or Python
- Understanding of data translation techniques for 16-bit register parsing into 32-bit floats and integers
- Familiarity with Docker and Docker Compos...