Handshake · San Francisco, United States
Join Handshake, a leading company in the AI space, as a Senior Software Engineer. In this role, you will focus on building and maintaining backend services, shared platform capabilities, and developer tooling that support Handshake AI (HAI) and internal AI initiatives. You will work primarily within our full-stack TypeScript repository and collaborate with other teams in our Developer Platform group. This position offers a comprehensive benefits package, including health insurance, mental health support, 401k match, equity, and flexible time off.
- We are looking for someone who combines strong backend fundamentals with practical knowledge of LLM-powered and agentic systems
- Strong understanding of distributed systems, data modeling, service boundaries, common backend architecture patterns, and reliability and performance tradeoffs
- Strong experience with relational databases, including schema design, query optimization, indexing, transactions, and diagnosing database-related performance problems. Experience with PostgreSQL is especially relevant
- Strong communication skills and the ability to collaborate with product engineers and other teams across Developer Platform
- Sound technical judgment and a preference for understandable, maintainable systems over unnecessary complexity
- Practical knowledge of LLM-powered systems, including concepts such as model and tool integration, RAG, agent orchestration, prompt management, evaluation, and observability
- Experience operating services in cloud and containerized environments. Our broader platform uses technologies including GCP, Kubernetes, Terraform, and Docker
- Experience designing, building, and operating production services and APIs
- A record of independently driving ambiguous projects from problem definition through production rollout
- 5+ years of professional software engineering experience, primarily in backend or platform engineering
- Familiarity with backend technologies such as Temporal, Redis, Elasticsearch, GraphQL, or event-driven systems
- We strongly prefer candidates with deep TypeScript and Next.js experience. Because this work is primarily based in a full-stack TypeScript repository, you should be comfortable navigating the broader application and contributing across boundaries when necessary
- Experience with event-driven architecture or high-throughput data systems
- Experience modernizing mature backend systems while continuing to support active product development
- Experience creating internal platforms, paved paths, or self-service tools used by other engineers
- Experience building internal AI tools or shared AI capabilities used by other engineers
- Experience with LLM orchestration frameworks or agent architectures involving tool use, memory, and multi-step workflows
- Direct production experience with product features powered by ML, LLMs, or agents