Logo for Hightouch

Software Engineer, Distributed Systems

Roles & Responsibilities

  • Experience with distributed systems and high-scale architectures, or the ability to quickly build that expertise.
  • Proven track record building syncing engines that process terabytes of data per day in a scalable way.
  • Experience creating event collection or data streaming services powering critical systems.
  • Ownership mindset with the ability to drive systems through rapid growth, plus strong quick-learning capability.

Requirements:

  • Own and deliver projects related to the syncing engine that powers customer data flows, from inception to production.
  • Analyze and optimize the syncing pipeline to increase data sync speed for destinations such as Facebook and Snapchat.
  • Develop streaming syncing capabilities to support real-time data sources (webhooks, queues) alongside batch processing.
  • Improve scalability and reliability of multi-region and multi-cloud backend systems, planning for growth and data residency requirements.

Job description

About Hightouch

Hightouch is the modern AI platform for marketing and growth teams. Our AI agents reimagine marketing workflows, allowing marketers to create content, plan campaigns, and execute strategies with transformational velocity and performance.

Hightouch is a rare company built on the intersection of two fundamental technological shifts: advances in LLMs and agentic AI, and the creation and rapid adoption of cloud data warehouses like Snowflake and Databricks. Building on these tailwinds, we’ve become a leader in AI marketing and partner with industry leaders like Domino’s, Chime, Spotify, Ramp, Whoop, Grammarly, and over 1000 others.

Our team focuses on making a meaningful impact for our customers. We approach challenges with first-principles thinking, move quickly and efficiently, and treat each other with compassion and kindness. We look for team members who are strong communicators, have a growth mindset, and are motivated and persistent in achieving our goals.

About the Role

We are looking for a distributed systems engineer to work on the systems that power the syncing engine our customers and other engineering teams rely on. This presents an exciting challenge where you can apply your expertise in distributed systems, performance optimization, and troubleshooting to push the boundaries of what is possible and meaningfully improve our ability to move massive amounts of customer data. This role also provides a unique opportunity to work on a multi-cloud and multi-region infrastructure that supports a global customer base.

We believe in enabling our engineers to do their best work for our customers by giving them extremely high levels of ownership and autonomy. This comes in different forms: you will own and deliver projects from start to finish, you will work directly with customers to solve their hardest scaling problems, and you will have a lot of influence over what we work on as a team and company.

Some of the problems we’ll be working on include:

  • Sync Speed: Customers want to sync a lot of data to important destinations like Facebook and Snapchat, which requires us to analyze every part of our syncing process and find where we can optimize to sync data more quickly
  • Streaming Syncing: We currently sync data from sources in batch only, but envision a world where we also do syncs in real-time and support streaming sources like webhooks and queues
  • Scalability and Reliability: As part of our rapid growth, we’re always evaluating current future bottlenecks in scaling and reliability, and architecting for the next order of magnitude of growth
  • Personalization API: Our Personalization API product provides a low latency caching layer on top of data warehouses that enable customers to use their data warehouse for real-time personalization use cases with <30ms p90 response times with QPS in the millions
  • Multi-Region and Multi-Cloud: Supporting our multi-region and multi-cloud backend, including extending it to launch Hightouch on in new regions to support data residency requirements of our global customer base

We are looking for talented, intellectually curious, and motivated individuals who are interested in tackling the problems above. This is a senior role, but we focus on impact and potential for growth more than years of experience. The salary range for this position is $180,000 - $320,000 USD per year, which is location independent in accordance with our remote-first policy. We also offer meaningful equity compensation in the form of ISO options, and offer early exercise and a 10 year post-termination exercise window.

About You

You are an engineer with a passion for solving hard technical problems that generate real value for customers. You’re motivated by high ownership and are comfortable in a fast-paced, startup environment.

You have experience and comfort with distributed systems and high-scale systems or the ability and desire to build this experience quickly. This experience can take different forms:

  • You’ve built syncing engines that process and move terabytes of data per day in a scalable way
  • You’ve created event collection or data streaming services that power company critical systems
  • You’ve owned systems that have undergone orders of magnitude of growth and helped them scale accordingly
  • You have relevant skills and are a fast learner who is excited to take on the challenges we face

Interview Process

Our goal with the interview process is to balance speed with giving both parties opportunities to assess whether there is a strong mutual fit. We will ask you questions, but we want you to ask us questions! Our technical interviews focus on how you design systems because we believe this is the best way for us to see how you work and for you to see how we collaborate. We don’t ask you to write code to solve technical brainteasers that don’t appear in your day to day job.

  • Recruiter Screen [30m]: Introductory call with our recruiting team to get to know each other and see if the role could be a good mutual fit.
  • System Design Screen [45m]: Designing a data processing feature end-to-end.
  • Hiring Manager Interview [30m]: Chat with hiring manager about past experiences and future operating preferences to assess fit on company values and operating principles.
  • System Design Interview [90m]: Work with the interviewer to architect a system at a conceptual level. The problem will be at a pretty high level - and have both product and customer requirements as well as technical.

We have limited inbound applications to one application per candidate. You will be auto-rejected if you apply to multiple roles. Please only apply to the position you are most qualified for.

#LI-DNP

Software Engineer Related jobs

Other jobs at Hightouch

We help you get seen. Not ignored.

We help you get seen faster — by the right people.

🚀

Auto-Apply

We apply for you — automatically and instantly.

Save time, skip forms, and stay on top of every opportunity. Because you can't get seen if you're not in the race.

AI Match Feedback

Know your real match before you apply.

Get a detailed AI assessment of your profile against each job posting. Because getting seen starts with passing the filters.

Upgrade to Premium. Apply smarter and get noticed.

Upgrade to Premium

Join thousands of professionals who got noticed and hired faster.