Handshake logo
Handshake Verified
Education Technology, Software Development, Human Resources, Career Services

Senior Software Engineer, Growth

San Francisco, CAOnsiteFull TimeSeniorPosted 17 days ago

Is this role right for you?

Upload your resume and get a skill-by-skill breakdown — see exactly where you match, where you're close, and what to highlight. Not a mystery percentage.

Get a tailored resume highlighting what this role needs.

Required skills

  • user funnel
  • activation
  • retention
  • notifications
  • measurable impact
  • distributed systems
  • high availability
  • performance
  • growth hypotheses
  • shippable experiments

Nice to have

  • notification
  • acquisition
  • user authentication
  • authorization
  • mobile growth
  • web

Role summary

Handshake is seeking a Senior Software Engineer, Growth to join their onsite team in San Francisco. This role involves building products that connect students with employers, driving technical initiatives, and shaping the team's technical direction. Responsibilities include designing and shipping experiments across the user funnel, architecting scalable distributed systems, and collaborating with Product Managers and Data Scientists. The ideal candidate has 5+ years of experience in backend or full-stack development, experience with experimentation platforms, and a strong understanding of user data and measurable impact. Mentoring junior engineers and fostering technical excellence are also key aspects of the role.

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.

In 2025, we started Handshake AI and built the fastest-growing AI data business in history. We work directly with frontier AI lab researchers to create evaluations, publish benchmarks, and push the boundary of data. We’ve grown from 0to~1B run rate and pay ~$60M to over 30K individuals every month.

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

About the Role

As a Senior Software Engineer on the Growth team, you'll build the products that connect millions of students with employers. You'll drive meaningful technical initiatives, shape the technical direction of the team, and deliver high-quality, scalable solutions that directly impact one of the fastest-growing career platforms in the world.

This role is onsite 5 days a week in our SF office.

Your Role

  • Design, build, and ship experiments across the user funnel — onboarding, activation, retention, notifications — with a strong bias toward measurable impact

  • Architect and scale distributed systems to support millions of users, ensuring high availability and performance

  • Partner with Product Managers and Data Scientists to translate growth hypotheses into technical designs and shippable experiments

  • Mentor and elevate engineers across the team, fostering a culture of growth and technical excellence

  • Balance speed and rigor — know when to move fast with a lightweight test and when a feature needs production-grade durability

Desired Capabilities

  • 5+ years of professional software engineering experience, ideally with exposure to consumer-facing or growth-focused products

  • Strong fundamentals in backend and/or full-stack development (adjust based on your stack — e.g., Ruby on Rails, GraphQL, React, or equivalent)

  • Experience building or working within experimentation platforms (e.g., feature flagging, A/B testing frameworks, statistical significance tooling)

  • A track record of shipping iteratively and learning from real user data, not just building to spec

  • Strong collaboration skills — you can work fluidly with PMs, designers, and data scientists, and can communicate trade-offs clearly

  • A growth mindset: curiosity about why something worked or didn't, not just whether it shipped

Extra Credit

  • Background in notification, acquisition, user authentication/authorization at scale

  • Background in mobile growth (iOS/Android) alongside web

  • Familiarity with LLM-powered features or AI-assisted product experiences

  • Prior experience in high-growth or rapidly scaling environments

Perks

Handshake delivers benefits that help you feel supported—and thrive at work and in life.The below benefits are for full-time US employees.

🎯 Ownership: Equity in a fast-growing company💰 Financial Wellness: 401(k) match, competitive compensation, financial coaching🍼 Family Support: Paid parental leave, fertility benefits, parental coaching💝 Wellbeing: Medical, dental, and vision, mental health support, wellness stipend📚 Growth: Learning stipend, ongoing development💻 Remote & Office: Internet, commuting, and free lunch/gym in our SF office🏝 Time Off: Flexible PTO, 15 holidays + 2 flex days🤝 Connection: Team outings & referral bonuses

Explore our mission, values, and comprehensive US benefits at joinhandshake.com/careers.

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.

Ready to apply?
You'll be redirected to Handshake's application page.

Similar roles

See how RiseMe works

Match, tailor, and prep so you send fewer applications and land more interviews.