Professional experience building and operating backend, streaming or data-intensive systems.
The ability to reason about consistency and data correctness under failures.
Experience with databases, messaging systems or event-processing platforms.
The ability to investigate unfamiliar systems and solve problems without an obvious predefined solution.
The ability and willingness to learn the team's technology stack.
Nice to haves:
Experience with a stateful stream-processing framework such as Apache Flink or Kafka Streams.
Experience designing streaming pipelines.
Go development experience.
Experience operating services in Kubernetes.
What you'll be doing:
Build stateful streaming pipelines that compute billed consumption in near real time.
Develop and operate Go services that ingest usage events, move data between our storage systems and deliver consumption data to users through usage APIs and billing data exports.
Guarantee correctness under failures: idempotency, exactly-once processing and reconciliation.
Operate transactional storage, persistent queues and change data capture under high throughput.
Build reusable streaming infrastructure rather than solving each use case independently.
Improve the reliability, scalability, latency and observability of the billing platform.
Take end-to-end ownership of your systems: design, implementation, reliability and deployment.