Vacancy catalog
EPAM
Open role

Lead Software Engineer (Modbus + Go)

EPAMLithuania; Latvia
Work model
Hybrid
Experience
1+ years
Employment
Not specified
Compensation
Not disclosed
Technology signal
10 tags

Technology context

10

Parsed from the vacancy text; ordered by relevance to this role.

PythonGoC++CDockerLinuxC LinuxC ProgrammingEdge ExtensionsModBus

Full listing

Role description

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.

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 Compose
  • Competency in Linux OS command line and network diagnostics on edge systems
  • Strong analytical and diagnostic troubleshooting skills
  • Understanding of OT constraints and factory floor safety practices
  • Flexibility to travel internationally for onboarding purposes
  • Excellent command of written and spoken English (B2+ level)