At gridX we’re building the software infrastructure that connects real-world energy hardware, batteries, inverters, EV chargers, heat pumps, and smart meters, into one unified energy management platform.
As a Senior Go Engineer, you’ll develop the systems that allow thousands of devices from dozens of manufacturers to communicate reliably with our platform in real-world environments. This is not typical backend CRUD development. Your software runs on Linux-based IoT gateways at the edge, communicates via protocols like Modbus, REST, EEBUS, and OCPP, connects to the cloud through HTTP and gRPC, and translates hardware-specific protocols into a unified data model.
We work highly flexibly across Germany, but would ideally love to welcome you to our Aachen or Munich offices. Since occasional hands-on tests happen in our Aachen lab, regular on-site presence there is a huge plus. Living further away in Germany? No worries, this role is also available fully remote from anywhere in Germany.
What you’ll work on
Device drivers: You implement and maintain Go services that poll measurements, send control commands, and handle the edge cases of real hardware (timing, errors, recovery). You work from manufacturer datasheets and protocol specs, often pairing with AI coding tools to accelerate implementation and review.
Protocol framework: We're evolving a next-generation integration standard: a layered protocol stack with mTLS security, mDNS discovery, and self-describing asset configurations. You'll help shape and implement this specification, and migrate existing drivers to it.
Test tooling: The team owns and distributes a full-stack Modbus validation tool (Go backend, React frontend) used internally and by partners to verify device conformance. You contribute to and maintain this.
Partner ecosystem: Our integration framework enables OEM partners (e.g. GoodWe, SolaX, Kostal) to build their own drivers via a no-code integration layer. You support the technical foundation that makes this work and engineers using it.
We use AI-assisted and agentic coding workflows extensively across all of these areas, for driver implementation, code review, spec analysis, and test generation. You'll be expected to leverage these tools effectively and help evolve how we use them.
Day-to-day, that means
- Implementing drivers for new device models based on datasheets and protocol specs
- Migrating imperative Go drivers to declarative, no-code configurations, and evolving the framework to make that possible as you go
- Debugging communication issues, logic analyzer, tcpdump, register dumps
- Designing state machines that handle real-world timing, errors, and recovery
- Writing tests that cover protocol edge cases and device quirks
- Contributing to protocol specifications and test tooling
- Collaborating e.g. with firmware teams, product, partners, hardware manufacturers, and energy domain experts
- Shaping architecture across driver framework, test tooling, and partner interfaces; mentoring teammates; driving cross-team technical decisions
