Description
We are looking for a Senior Software Engineer to build event-processing pipelines and services that turn Nebius product usage into revenue.
You will work on systems that process a continuous stream of usage events, where correctness and failure recovery matter as much as throughput. The output is money: a silently dropped or double-counted event is a real financial error.
Responsibilities:
- Build stateful streaming pipelines that compute billed consumption in near real time.
- Develop and operate Go services that ingest usage events, move data between 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.
Requirements:
- Strong software engineering fundamentals.
- Professional experience building and operating backend, streaming, or data-intensive systems.
- Ability to reason about consistency and data correctness under failures.
- Experience with databases, messaging systems, or event-processing platforms.
- Ability to investigate unfamiliar systems and solve problems without an obvious predefined solution.
- Ability and willingness to learn the team's technology stack.
Nice to have:
- 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.
Technology stack:
- Go, Python
- Apache Flink
- YDB
- YTsaurus
- Messaging and event-streaming systems
- Kubernetes