Backend Engineer
Position Overview
Customer.io is seeking a deeply experienced backend engineer to help architect and evolve the infrastructure behind our core platform. This role is ideal for individuals who thrive on solving complex distributed systems challenges at scale.
About Customer.io
Over 7,500 companies, from startups to global brands, rely on Customer.io to send billions of emails, push notifications, in-app messages, and SMS daily. Our platform powers automated communication that users actually want to receive, enabling teams to send smarter, more relevant messages using real-time behavioral data. Our tech stack includes Go, React, Ember, and AI.
What We Value
- Ownership: Drive technical direction across systems and teams, acting with urgency, empathy, and a long-term perspective. Experience leading large-scale infrastructure initiatives is essential.
- Customer Focus: Understand how infrastructure directly impacts customer value, prioritizing developer experience, system design, and the overall customer experience.
- Healthy Skepticism: Bring rigor and creativity to problem-solving, valuing forward motion and practical solutions over rigid adherence to "the way things are done."
Responsibilities
- Design and evolve distributed systems in Go to manage billions of daily events and messages, and store/index petabytes of data.
- Lead architectural decisions concerning performance, reliability, and real-time event processing.
- Enhance service-to-service communication through improved APIs, messaging systems, and event-driven patterns.
- Collaborate with cross-functional teams to identify and resolve system bottlenecks and issues, improving the customer experience.
- Address high-throughput challenges across data pipelines, queues, and scheduling infrastructure.
- Debug production systems at scale using effective instrumentation and resolve issues swiftly and confidently.
- Share knowledge and elevate team standards through public progress updates (videos, writing) and mentorship.
- Leverage AI tools for prototyping, accelerating development, and improving decision-making.
Requirements
- Significant experience (typically 10+ years) building scalable, distributed systems, preferably in Go or similar statically typed languages.
- Deep expertise with both relational (MySQL, Postgres) and non-relational (DynamoDB, BigTable) databases, with a focus on performance optimization.
- Comfort working in cloud-native environments (AWS, GCP).
- Familiarity with APIs, observability practices, and operating production systems.
- A bias for action and a commitment to owning technical decisions.
Compensation & Benefits
- Salary: $160,000 - $250,000 USD (or local equivalent), commensurate with experience and market rates.
- Benefits:
- 100% coverage for medical, dental, vision, mental health, and supplemental insurance premiums for employees and their families.
- 16 weeks paid parental leave.
- Unlimited Paid Time Off (PTO).
- Stipends for remote work and wellness.
- Professional development budget.
- See full benefits here → [Link to benefits page if available]
Our Process
Our hiring process is designed to be clear and informative:
- Application: Submit your application and explain your interest in the role.
- Recruiter Call (30 mins): Discuss your career goals and how Customer.io operates.
- Behavioral Interview (60 mins): Engage with a hiring manager to explore ownership, product thinking, and collaboration.
- Technical Interview (60 mins): Participate in a collaborative system design discussion focused on scaling challenges.
- Take-Home Assignment: Complete a short, realistic task representative of the work done at Customer.io.
- Assignment Review Call (60 mins): Discuss your completed assignment.
Employment Type:
- [Employment Type Not Specified]
Location Type:
- [Location Type Not Specified]