Backend Engineer
Position Overview
Customer.io is seeking a deeply experienced Backend Engineer to help architect and evolve the infrastructure behind its core platform. This role is ideal for engineers who enjoy solving complex distributed systems challenges at scale.
About Customer.io
Over 7,500 companies, from startups to global brands, utilize Customer.io to send billions of emails, push notifications, in-app messages, and SMS daily. Our platform powers automated communication that users find relevant and valuable. We help teams send smarter messages using real-time behavioral data, powered by 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 decisions unlock customer value, prioritizing developer experience, system design, and the impact on the customer experience.
- Healthy Skepticism: Bring rigor and creativity, questioning established norms and prioritizing forward motion over adherence to best practices alone.
Responsibilities
- Design and evolve distributed systems in Go to handle billions of daily events and messages, and store/index petabytes of data.
- Lead architectural decisions concerning performance, reliability, and real-time event processing.
- Improve service-to-service communication through enhanced 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 quickly and confidently.
- Share knowledge and elevate team capabilities 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 in Go or similar statically typed languages.
- Deep experience 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, and operating production systems.
- A bias for action over perfection, and pride in owning technical decisions.
Compensation & Benefits
- Salary: $160,000 - $250,000 USD (or equivalent) depending on experience and market rate.
- Benefits:
- 100% coverage of 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
Application Instructions
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): A discussion about your career goals and how Customer.io operates.
- Behavioral Interview (60 mins): An interview with a hiring manager focusing on ownership, product thinking, and collaboration.
- Technical Interview (60 mins): A collaborative system design conversation centered on scaling challenges.
- Take-Home Assignment: A short, realistic task representative of work at Customer.io.
- Assignment Review Call (60 mins): A discussion to review your completed assignment.
Location Type
- [Information not provided]
Employment Type
- [Information not provided]