Responsibilities
- Designing and maintaining the TRR backend — ride matching, station queueing, request lifecycle management, and fare calculation
- Building and operating services on top of PostgreSQL, Redis, and RabbitMQ in a Kubernetes environment
- Improving system observability — tracing, metrics, alerting — so we catch problems before riders do
- Collaborating on API design with our frontend, mobile, and operations teams
- Participating in incident response and post-mortems; we run blameless retros and expect engineers to dig into root causes, not just restart pods
- Contributing to capacity planning and load testing as we scale to new deployment sites
Requirements
- Deep fluency in at least one backend language (TypeScript/Node.js, Go, Python, or Java) — we use TypeScript heavily but value polyglot thinkers
- Hands-on experience with PostgreSQL (query optimization, indexing strategies, schema migrations) and Redis (caching patterns, pub/sub, rate limiting)
- Familiarity with message broker patterns — RabbitMQ preferred, but Kafka or NATS experience translates well
- Solid understanding of distributed systems fundamentals: consistency models, failure modes, backpressure, idempotency
- Experience with Kubernetes in production — not just deploying, but debugging networking issues, resource contention, and pod lifecycle surprises
- Strong debugging instincts: you're the kind of engineer who reaches for tcpdump or strace before restarting the service
Nice to Have
- Experience with event-driven architectures or CQRS patterns
- Familiarity with Temporal.io or similar workflow orchestration frameworks
- Background in transit, logistics, or any domain where latency directly impacts a physical-world experience
- Experience operating multi-tenant or multi-site deployments
- You've written a runbook that actually saved someone at 2am