Software Engineer, Distributed Systems
Software Engineer, Distributed Systems

Software Engineer, Distributed Systems

Full-Time 36000 - 60000 £ / year (est.) No home office possible
Go Premium
H

At a Glance

  • Tasks: Work on distributed systems to enhance our customer data syncing engine.
  • Company: Join Hightouch, a leader in empowering businesses with their own data for growth.
  • Benefits: Enjoy high ownership, autonomy, and the chance to work on cutting-edge technology.
  • Why this job: Make a meaningful impact while solving exciting challenges in a supportive team culture.
  • Qualifications: Expertise in distributed systems, performance optimisation, and troubleshooting is essential.
  • Other info: Opportunity to work on multi-cloud infrastructure supporting a global customer base.

The predicted salary is between 36000 - 60000 £ per year.

Hightouch’s mission is to empower everyone to take action on their data. Hundreds of companies, including Autotrader, Calendly, Cars.com, Monday.com, and PetSmart, trust Hightouch to power their growth.

We pioneered the Composable Customer Data Platform (CDP), which lets companies use their own data warehouse to collect, prepare, and activate customer data for marketing personalization and business operations. Our new AI Decisioning platform goes a step further, allowing marketers to set goals and guardrails that AI agents can then use to personalize 1:1 customer interactions. Traditionally, only technical teams had the skills to access and use customer data. With Hightouch, every business user can deliver personalized customer experiences, optimize performance marketing, and move faster by leveraging data and AI across their organization.

Our team focuses on making a meaningful impact for our customers. We approach challenges with a first-principles mindset, 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.

#J-18808-Ljbffr

Software Engineer, Distributed Systems employer: HighTouch

Hightouch is an exceptional employer that fosters a culture of innovation and collaboration, empowering engineers to take ownership of their projects and make a meaningful impact on customer experiences. With a focus on personal growth and a supportive work environment, employees are encouraged to develop their skills while tackling exciting challenges in distributed systems and multi-cloud infrastructures. Located in a vibrant tech hub, Hightouch offers unique opportunities for professional advancement and the chance to work with cutting-edge technology alongside a compassionate and driven team.
H

Contact Detail:

HighTouch Recruiting Team

StudySmarter Expert Advice 🤫

We think this is how you could land Software Engineer, Distributed Systems

✨Tip Number 1

Familiarise yourself with distributed systems concepts and technologies. Understanding the principles behind data syncing, performance optimisation, and troubleshooting will give you a solid foundation to discuss during interviews.

✨Tip Number 2

Showcase your experience with multi-cloud and multi-region infrastructures. Be prepared to discuss specific projects where you've successfully managed or optimised such environments, as this aligns closely with what Hightouch is looking for.

✨Tip Number 3

Demonstrate your problem-solving skills by preparing examples of how you've tackled scalability and reliability challenges in previous roles. This will highlight your ability to think critically and contribute to Hightouch's growth.

✨Tip Number 4

Emphasise your communication skills and growth mindset. Hightouch values team members who can collaborate effectively and are eager to learn, so be ready to share instances where you've worked well in a team or adapted to new challenges.

We think you need these skills to ace Software Engineer, Distributed Systems

Distributed Systems Design
Performance Optimisation
Troubleshooting Skills
Cloud Infrastructure Management
Multi-Cloud Architecture
Data Synchronisation Techniques
Real-Time Data Processing
API Development
Scalability Solutions
Reliability Engineering
Strong Communication Skills
Problem-Solving Skills
Project Ownership
Collaboration with Cross-Functional Teams
Growth Mindset

Some tips for your application 🫡

Understand the Company and Role: Familiarise yourself with Hightouch's mission and the specifics of the Software Engineer, Distributed Systems role. Highlight your understanding of their Composable Customer Data Platform and how your skills align with their needs.

Tailor Your CV: Make sure your CV reflects your experience in distributed systems, performance optimisation, and troubleshooting. Use specific examples from your past work that demonstrate your ability to handle large data sets and improve system performance.

Craft a Compelling Cover Letter: Write a cover letter that showcases your passion for data and AI, as well as your problem-solving skills. Mention how you can contribute to Hightouch’s goals, particularly in areas like sync speed and scalability.

Showcase Communication Skills: Since Hightouch values strong communicators, ensure your application reflects your ability to convey complex technical concepts clearly. Consider including examples of how you've effectively collaborated with teams or customers in the past.

How to prepare for a job interview at HighTouch

✨Understand Distributed Systems

Make sure you have a solid grasp of distributed systems concepts. Be prepared to discuss your experience with performance optimisation and troubleshooting in these environments, as this role heavily relies on those skills.

✨Showcase Problem-Solving Skills

Be ready to tackle hypothetical scenarios related to sync speed and scalability during the interview. Demonstrating your ability to think critically and approach problems with a first-principles mindset will impress the interviewers.

✨Communicate Effectively

Strong communication is key for this role. Practice articulating your thoughts clearly and concisely, especially when discussing technical topics. This will show that you can collaborate well with both technical teams and customers.

✨Demonstrate a Growth Mindset

Hightouch values team members who are motivated and persistent. Share examples from your past experiences where you faced challenges and how you learned and grew from them. This will align with their company culture and values.

Software Engineer, Distributed Systems
HighTouch
Go Premium

Land your dream job quicker with Premium

You’re marked as a top applicant with our partner companies
Individual CV and cover letter feedback including tailoring to specific job roles
Be among the first applications for new jobs with our AI application
1:1 support and career advice from our career coaches
Go Premium

Money-back if you don't land a job in 6-months

H
  • Software Engineer, Distributed Systems

    Full-Time
    36000 - 60000 £ / year (est.)

    Application deadline: 2027-09-02

  • H

    HighTouch

Similar positions in other companies
UK’s top job board for Gen Z
discover-jobs-cta
Discover now
>