You're a strong programmer first. You're expert-level in at least one language and you write clean, well-designed code that other engineers can build on
Solid distributed systems fundamentals. You can think through system models, failure modes, consistency tradeoffs, and scaling strategies independently
You've designed and built systems that handle real scale. Caching layers, sharded data stores, async processing pipelines, shared-nothing service architectures — you've worked with these patterns in production environments, not just theoretically
Strong database engineering skills. You've built complex schemas, tuned queries, and made hard choices about data modeling across relational and non-relational stores
Comfortable with protocols and networking at the application level: REST, WebSockets, gRPC, HTTP semantics. You understand how services talk to each other, and you make good choices about it
You deploy and run services on Kubernetes. You're self-sufficient here, but you're not the person setting up the cluster
Proven reliability engineering instincts. You've been on challenging on-call rotations, and you came out of them with ideas for how to make things better
You have a genuine deep interest in some area of software. Maybe it's software design, CRDTs, real-time systems, database internals, or something else entirely. You go deeper than the job requires because you want to
We'd love to hear about experience in any of these areas — but we don't expect any one person to have all of them
Hands-on experience in one or more of these domains
Payments — billing systems, transaction processing, ledgers, financial data integrity
Search and relevance — building and tuning search infrastructure, ranking, indexing pipelines
Real-time media — streaming, low-latency audio/video, real-time communication systems
Deep Python expertise. You know how to write Python that's maintainable, performant, and scalable
Experience building on GCP