Join our Software Solutions team building Enernet, the cloud platform behind our fleet, device monitoring, alarms, scheduling, reporting, and the mobile app our technicians use on site. Our fleet is growing from roughly 400 to 1,000 devices, every unit streaming continuous telemetry across a dozen subsystems, and the platform needs architectural headroom well beyond that.
This role owns the engineering that keeps the platform fast and reliable as that load grows, driving down infrastructure cost, cutting latency, stabilising the data pipeline, and closing the performance gaps that would otherwise surface at scale.
That foundation of a higher-value product work on our roadmap can only be built on a pipeline that is stable, so getting this right is super critical. It is a hands-on role.
What you'll do
Data Pipeline Ownership: Own the flow from AWS IoT Core, Kafka into TimescaleDB, and legacy GCP Pub/Sub in place. You are accountable for throughput, correctness, latency, and cost across that path. Provide vision on improving the pipeline stability, scalability.
API & BFF: Evolve the GraphQL contract that serves our web and mobile clients. Design secure, low-latency APIs (GraphQL and REST), and keep the BFF layer clean as the schema and product grow.
Cost & Performance: Drive down infrastructure and observability cost per device, cut latency, and remove the throughput bottlenecks that would otherwise surface as the fleet grows, keeping monitoring spend proportionate to what it monitors.
Scale & Reliability: Kafka partitioning and consumer groups, batched writes, backpressure, and hot-path isolation so one misbehaving device cannot degrade the fleet.
Observability: Use our Grafana stack to identify and track slow queries, monitor the pipeline, and maintain alerts that fire before degradation becomes an incident.
Safe Change: Evolve a live system safely staged, reversible changes with parallel runs, shadow validation, and rollback, so improvements ship without disruption.
Full-Stack Collaboration: Review the frontend and mobile work, understand the GraphQL contract, and trace a bug from a Vue chart to a Timescale query to a Kafka consumer.
Responsibilities
Pipeline Stability at Scale: Stabilising and cost-optimising the telemetry path so it holds latency and throughput targets as the fleet grows, with observability to prove it.
API evolution: Extending the GraphQL contract to support new product features without regressing latency or breaking clients.
Production Health: Acting as a senior voice in incident response and reducing the support load that currently leaks into sprint time.
Cross-Functional Delivery: Working with firmware, service, and commercial colleagues to turn raw telemetry into reliable, actionable tooling.
Experience required
Backend & Streaming: 5–10 years building and operating production backend systems, including meaningful time on high-throughput streaming or time-series data.
Data at Scale: Deep, practical Kafka partitioning, consumer groups, rebalancing, ordering and idempotency, schema evolution plus strong SQL and time-series database skills (TimescaleDB, ClickHouse, InfluxDB or equivalent).
BFF & API design: Designing secure, low-latency APIs (GraphQL and REST) that serve web and mobile clients.
Live Migration: Has migrated a live system without downtime: parallel writes, shadow validation, staged cutover, rollback.
Stack & Cloud: TypeScript / Node.js fluency (our services are largely NestJS) and AWS in production — ECS, IoT Core, networking, working Terraform / IaC.
Go: Our services are moving to Go for latency-sensitive paths; we expect you to be productive in it quickly. Prior Go experience is a plus, not a requirement, the pipeline judgement matters more than the language.
Documentation: Write clear technical documentation to assist development and communication with internal and external parties.
Who you are:
Operator’s Mindset: Your first-hand experience managing live systems during production incidents directly informs how you architect and engineer software.
Clear Communicator: You can explain the same system to a firmware engineer, a service technician, and a CEO precisely and concisely.
Quietly Influential: You set technical direction, review rigorously, and make the engineers around you better.
Bias Toward Simplification: You excel at simplifying systems, even if it involves deleting code, and remain undeterred by legacy technical debt.
Skills Required
- 5-10 years building and operating production backend systems with high-throughput streaming or time-series data
- Deep practical Kafka knowledge (partitioning, consumer groups, rebalancing, ordering, idempotency, schema evolution)
- Strong SQL and time-series database skills (TimescaleDB, ClickHouse, InfluxDB or equivalent)
- Designing secure, low-latency APIs and BFFs (GraphQL and REST) for web and mobile clients
- Experience migrating live systems without downtime (parallel writes, shadow validation, staged cutover, rollback)
- TypeScript and Node.js fluency (services largely NestJS)
- AWS production experience including ECS, IoT Core, networking, and infrastructure as code (Terraform)
- Experience managing live systems during production incidents (operator mindset)
- Observability tooling experience (Grafana) and monitoring/alerting to track slow queries and pipeline health
- Ability to write clear technical documentation
- Prior Go experience (productive quickly in Go is a plus)
- Familiarity with frontend stack (Vue) to trace issues from UI to backend
What We Do
At Ampd, we bring pure power to your challenging environments, transforming the construction industry into a more sustainable future for all. Our focus is on driving the energy transition, using state-of-the-art battery energy storage technologies, connectivity and data science to electrify, connect and optimize the industrial and construction sectors. We’ve developed the Ampd Enertainer™, an advanced and compact energy storage system (ESS) to replace the dirty, noisy and hazardous diesel generators that power the world’s construction. Know when, where and how your clean, quiet power is used. Get connected!








