Customer.io logo
Customer.io·Verified

Staff Software Engineer, Backend - Customer.io

Customer.io is looking for a Staff Software Engineer to set technical direction for the distributed systems that move billions of messages a day. This role is about deciding what gets built, where the architecture needs to go next, and raising the engineering standard across teams.

About Customer.io

Over 9,000 companies — from scrappy startups to global brands — use our platform to send billions of emails, push notifications, in-app messages, and SMS every day. Customer.io powers automated communication that people actually want to receive.

We help teams send smarter, more relevant messages using real-time behavioral data. Under the hood: Go, React, Ember, and AI help us ship fast and scale with confidence.

What We Value

  • Ownership at company scale: You take on problems across squads that have no obvious owner and drive them to resolution.
  • Engineers with product taste: You think like a user, connecting architectural decisions to end-customer experience.
  • A healthy skepticism for "the way things are done": You retire practices that have outlived their usefulness in favor of forward motion.
  • Force multiplication: Your impact is measured by what the broader department can now accomplish.

What You'll Do

  • Shape the technical direction of distributed messaging systems in Go, making architectural decisions where scale, cost, and reliability intersect.
  • Tackle ambiguous, high-stakes problems across squads and guide them to decisive outcomes.
  • Build consensus on contested technical questions and communicate tradeoffs clearly to senior leadership.
  • Raise the technical bar by setting quality and design standards, mentoring senior engineers, and creating reusable frameworks and documentation.
  • Drive engineering process and tooling improvements across multiple squads.
  • Interview and calibrate against our career ladder, delivering honest, evidence-based candidate evaluations.
  • Leverage AI agents for multi-file changes by scoping work, writing prompts, and validating output.

What We're Looking For

  • 10+ years building scalable, distributed systems in Go (or similar statically typed languages), including multiple years as a go-to architectural lead.
  • Breadth and depth across multiple systems or technical domains.
  • Proven track record of designing for production realities, quantifying throughput, cost, and reliability tradeoffs.
  • Experience embedding observability and recovery (metrics, alerting, rollback, backpressure, checkpointing) as core architectural components.
  • Comfort in cloud-native environments (AWS, GCP) and working with relational databases (MySQL) with deep performance understanding.
  • Demonstrated commitment to elevating peers through mentorship, design reviews, and lasting engineering standards.
  • A bias for action coupled with sound technical judgment on when to slow down for critical decisions.

Compensation & Benefits

  • Base Salary: $200,000 - $240,000 USD (or local currency equivalent, subject to market adjustments)
  • Annual Bonus Target: 10%
  • 100% coverage of medical, dental, vision, mental health, and supplemental insurance premiums for employees and dependents
  • 16 weeks paid parental leave
  • Unlimited PTO
  • Remote work stipend and wellness stipend
  • Professional development budget

Interview Process

  1. Application Review
  2. Recruiter Call (30 mins)
  3. Hiring Manager Interview & AI-assisted Coding Exercise (60 mins)
  4. Architecture & System Design Interview (60 mins)
  5. Take-Home Assignment
  6. Assignment Review Call (60 mins)

Timezone overlap

UTC-8–-3

Open to

NA · LATAM

Sign in to track applications and earn points.

More roles at Customer.io

Similar remote roles