Remote
Staff Software Engineer, Backend
About this role
Hi, I'm Paul, VP of Engineering at Customer.io . We're looking for a staff engineer to set technical direction for the systems that move billions of messages a day. This isn't a role about shipping more, faster. It's about deciding what gets built, where the architecture needs to go next, and raising the ceiling for the engineers around you. 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 the problems nobody has claimed yet — the ones that span squads, have no obvious owner, and would quietly cost us a year if left alone.
You either solve them or get leadership aligned to. Engineers with product taste You think like a user, not just an engineer. You connect architectural decisions to what customers actually experience, and you can explain that connection to people who don't write Go. A healthy skepticism for "the way things are done" You retire practices that have outlived their usefulness, including ones you helped build. Best practices matter — but never more than forward motion.
Force multiplication Your best quarter isn't measured by what you shipped. It's measured by what the department can now do that it couldn't before. What You'll Do Shape the technical direction of our distributed messaging systems in Go — making the high-level architectural calls on mission-critical services where scale, cost, and reliability are all in tension Take on ambiguous, high-stakes problems that cross squad and function boundaries, and drive them to a decision when the right answer isn't obvious to anyone yet Build consensus on contested technical questions across teams, and communicate the tradeoffs clearly enough that senior leadership can act on them Raise the department's bar — set quality and design standards, mentor senior engineers, and turn what you know into frameworks and documentation other teams can use without you in the room Drive engineering process and tooling improvements that span multiple squads, not just your own Interview and calibrate against our career ladder, giving honest, evidence-based assessments of candidates Use AI agents to make multi-file changes by scoping the work, writing the prompt, and verifying the output What we're looking for 10+ years building scalable, distributed systems in Go (or similar statically typed languages), including several as the person others turned to on architecture Depth across multiple systems or domains, not just one — you've been the recognized expert in more than one place A track record of designing for production reality: you quantify tradeoffs in throughput, cost, and reliability rather than picking a reasonable path and defending it Experience designing observability and recovery as first-class concerns — metrics, alerting, rollback, backpressure, checkpointing — not logging added afterward Comfort working in cloud-native environments (AWS, GCP), with relational databases (we use MySQL) and a real understanding of performance tradeoffs Evidence of making other engineers better: mentorship, technical writing, design review, standards that outlasted your involvement A bias for action over perfection, and the judgment to know which decisions are worth slowing down for Compensation & Benefits We believe in transparency.