Senior Software Engineer, Annotations
Required skills
- production systems
- architectural tradeoffs
- product judgment
- customer outcomes
- business outcomes
- maintainable code
- root causes
- high-velocity environment
Nice to have
- distributed teams
- expert networks
- high-volume operational processes
- open source
- self-directed technical projects
Role summary
Handshake is seeking a Senior Software Engineer for its Annotations team to build systems for high-quality human data used in frontier AI. This role involves working at the intersection of product engineering, distributed systems, and AI data operations. You will design tools for managing annotation projects, improving quality, and scaling workflows. The position requires 6+ years of experience, strong proficiency in Python, Node.js/TypeScript, React, and PostgreSQL, and experience with system design and owning complex projects. You will also mentor engineers and improve engineering processes. Familiarity with AI/ML data pipelines and workflow software is a plus.
About Handshake
Handshake was founded on a simple belief that everyone deserves a path to a great career, regardless of where they went to school or who they know. Today, we power 25 million job seekers, 1 million+ employers, and 1,600 educational institutions.
About Handshake AI
Human data is the core infrastructure to AI advancement. Frontier AI labs currently improve model capabilities with various data-intensive post-training techniques. We believe that data spend for AI training will increase by 3-5x in the next few years and continue for much longer as models take on new domains. Handshake AI supports all of the frontier AI labs, working on their most complex data at the largest scale.
The Role
We’re looking for a Senior Software Engineer to join our Annotations team and build the systems that power high-quality human data for frontier AI companies. You’ll work at the intersection of product engineering, distributed systems, and AI data operations—designing tools that help operators manage annotation projects, improve task quality, and scale expert workflows.
This is a high-ownership role in a fast-moving environment. You’ll partner closely with product, design, data, operations, and engineering teams to turn ambiguous problems into reliable, intuitive software used across the annotation lifecycle.
What you’ll do
Build and scale operator tooling that enables teams to create, manage, prioritize, and audit annotation projects.
Design workflows and quality-control systems that improve task accuracy, throughput, and customer outcomes.
Develop performant full-stack features using Node.js/TypeScript, React, PostgreSQL, GraphQL and tRPC..
Establish technical direction for complex projects, balancing speed, maintainability, reliability, and operational needs.
Partner with product, design, operations, and data teams to define requirements and ship impactful solutions.
Lead projects from initial concept through high-quality production delivery, including rollout, monitoring, and iteration.
Mentor engineers, raise the quality of code reviews and architecture discussions, and help unblock the team.
Improve engineering processes, testing practices, observability, and operational health across the squad.
You have
6+ years of software engineering experience building and operating production systems.
Strong proficiency in Node.js, Typescript, React, PostgreSQL, and backend APIs.
Experience designing scalable, reliable software and making sound architectural tradeoffs.
A track record of owning complex projects from ambiguity through delivery.
Strong product judgment and an ability to connect technical decisions to customer and business outcomes.
Excellent communication skills and the ability to work effectively with technical and non-technical partners.
A quality mindset: you write maintainable code, test thoughtfully, debug deeply, and address root causes.
A collaborative leadership style, including experience mentoring engineers and elevating team practices.
Comfort working in a high-velocity environment where priorities and requirements evolve quickly.
Bonus points
Experience building workflow, marketplace, operations, or internal-platform software.
Familiarity with AI/ML data pipelines, annotation systems, evaluation workflows, or human-in-the-loop products.
Experience working with distributed teams, expert networks, or high-volume operational processes.
Contributions to open source or a strong record of self-directed technical projects.
We offer
Handshake delivers benefits that help you feel supported and thrive at work and in life. Benefits for full-time US employees include:
Equity in a fast-growing company
401(k) match, competitive compensation, and financial coaching
Medical, dental, and vision coverage
Mental health support and a $500 wellness stipend
Paid parental leave, fertility benefits, and parental coaching
$2,000 annual learning stipend
Flexible PTO, 15 holidays, and 2 flex days
Internet, commuting support, and free lunch and gym access in our San Francisco office
Team outings and referral bonuses
Explore our mission, values, and comprehensive US benefits at joinhandshake.com/careers.
Why join Handshake now:
Shape how every career evolves in the AI economy, at global scale, with impact your friends, family and peers can see and feel
Partner hand-in-hand with world-class AI labs, Fortune 500 partners and the world’s top educational institutions
Work together with engineers, scientists, operators, and more from Palantir, Meta, Scale AI, and former YC founders
Build a massive, fast-growing business with billions in revenue
Sample Handshake interview questions
- 1
Design a distributed logging system.
system designmedium - 2
Vertical Order Traversal Perform a vertical order traversal of a binary tree. Input: root = [1,2,3,4,5,6,7] Output: [[4],[2],[1,5,6],[3],[7]] Explanation: Traverses the tree maintaining column indices, seamlessly grouping nodes that share the exact same vertical alignment.
codingmedium - 3
Diameter of a Binary Tree Find the diameter of a binary tree. Input: root = [1,2] Output: 1 Explanation: The longest path is simply the single edge connecting the root node to its only child.
codingmedium - 4
Clone an Undirected Graph Clone an undirected graph. Input: adjList = [[]] Output: [[]] Explanation: Creates a new, deeply cloned graph containing only one single node with zero connected neighbors.
codingmedium - 5
Valid Word Abbreviation Determine if a string matches a valid word abbreviation. Input: word = "apple", abbr = "a2e" Output: FALSE Explanation: The abbreviation claims exactly 2 characters are skipped between 'a' and 'e', but "ppl" is actually 3 characters long.
codingmedium
Get started to unlock a personalized interview prep pack for this role.
Similar roles
- Senior Enterprise Customer Success ManagerHandshake · New York, NY · Onsite
- Senior Sales Compensation AnalystHandshake · Remote · Remote
- Senior Software Engineer, DatabaseInfluxData · Remote · Remote
- Software Engineering Intern, Frontend (Summer 2027)Notion · New York, NY · Hybrid
Lead Software Engineer - Enterprise AI Services & AgentsWellmark Blue Cross and Blue Shield · Des Moines, IA · Hybrid
Senior Software Engineer - Lead PlatformA Place for Mom · Remote · Remote
