Staff Software Engineer Backend (Java & Microservices)
About the Role
We're looking for a Staff Software Engineer to lead the design and evolution of our backend platform. You'll own the architecture of large-scale, distributed systems built on Java and microservices, set technical direction across teams, and raise the bar for resilience, scalability, and operational excellence. This role spans building new products from the ground up and scaling existing ones. It is hands-on technical leadership: you'll write code, drive design reviews, and mentor engineers while partnering with product and engineering leadership to shape the roadmap.
Key Responsibilities
- Build products from 0 to 1 by turning ambiguous ideas into a clear architecture, shipping MVPs quickly, and evolving them into production-grade systems.
- Architect and build highly available, fault-tolerant microservices that scale to millions of requests and handle failure gracefully.
- Set technical direction for backend systems across multiple teams, authoring design docs and driving architectural decisions with clear trade-off analysis.
- Champion resilience engineering through patterns such as circuit breakers, bulkheads, retries with backoff, rate limiting, idempotency, and graceful degradation.
- Drive scalability and performance by identifying bottlenecks, optimizing JVM performance, and designing for horizontal scale, caching, and data partitioning.
- Own operational excellence, including observability (metrics, logging, tracing), SLOs/SLAs, incident response, and blameless postmortems.
- Lead modernization efforts, such as decomposing monoliths, adopting event-driven architectures, and reducing technical debt.
- Mentor and grow engineers through code reviews, design reviews, and technical coaching, building a strong engineering culture.
- Influence cross-functionally by partnering with product, SRE, security, and data teams to deliver customer outcomes.
Basic Qualifications
- 7+ years of professional software development experience, with a strong focus on backend systems.
- Proven experience building at least one product or platform from 0 to 1, from concept through production launch.
- Expert-level proficiency in Java, including concurrency, memory management, and JVM tuning.
- Deep experience designing and operating microservices in production using frameworks such as Spring Boot or Micronaut.
- Proven track record of building resilient, scalable distributed systems serving high-traffic workloads.
- Strong knowledge of distributed systems fundamentals: consistency models, CAP trade-offs, partitioning, replication, and failure modes.
- Experience with RESTful and gRPC API design, plus asynchronous messaging (Kafka, RabbitMQ, or similar).
- Hands-on experience with relational and NoSQL databases (e.g., PostgreSQL, MySQL, DynamoDB, Cassandra).
- Bachelor's degree in Computer Science or a related field, or equivalent practical experience.
Preferred Qualifications
- Exposure to agentic frameworks (e.g., LangChain4j, Spring AI, LangGraph) and building LLM-powered features such as tool calling, RAG, and multi-agent workflows.
- Experience using AI coding assistants and AI tools to speed up development.
- Experience with public cloud platforms (AWS or GCP) and cloud-native design.
- Proficiency with containers and orchestration (Docker, Kubernetes) and infrastructure as code (Terraform, CloudFormation).
- Experience with resilience libraries and practices such as Resilience4j, service mesh, and chaos engineering.
- Strong background in observability tooling (Prometheus, Grafana, OpenTelemetry, ELK, Datadog).
- Experience with event-driven architecture, CQRS, event sourcing, and saga patterns.
- Track record of leading technical initiatives spanning multiple teams.
- Excellent written communication, especially design docs and architectural proposals.