Suggested rewrite: Led a cross-functional initiative that improved [business outcome] by [measurable result], demonstrating experience relevant to this role...
Senior Software Engineer, Backend
Review the role, location requirements, compensation details, and application process before deciding whether this opportunity fits your next career move.
- Remote from
- EMEA
- Salary
- USD 150k–200k / yr
- Department
- Software Engineering
- Employment
- Full Time
- Experience
- Director
- Published
- Apply before
- 22 Nov 2026
- Listing views
- 20
- Application actions
- 1
Make your next move.
Prepare your resume, explore your fit, and draft a cover letter for this opportunity.
The role, at a glance.
Customer.io is seeking a senior backend engineer to design and operate high-scale distributed systems supporting email, push, in-app, and SMS communications. The role centers on Go development, architecture, database and schema design, production reliability, observability, and cloud-native operations. The engineer will own work end to end, collaborate across teams on complex incidents, and participate in an on-call rotation. Strong candidates bring at least seven years of distributed-systems experience, sound technical judgment, and a product-minded approach to scalable customer-facing infrastructure.
Role DNA
A quick view of the complexity, pace, ownership and collaboration implied by the job description.
Pace & Pressure
4/5Autonomy Level
5/5Communication Load
4/5Salary analysis
Estimated compensation compared with the broader US market for similar roles.
Core skills
Skills and capabilities most closely associated with this opportunity.
Sample interview questions
I would separate ingestion, scheduling, delivery, and status tracking into independently scalable components connected through durable queues. I would use idempotency keys, retries with backoff, dead-letter handling, rate limiting, and provider-specific delivery workers. I would define service-level indicators for latency, throughput, error rate, and queue lag, then use those metrics to guide capacity planning and incident response.
I would begin by using query metrics, slow-query logs, and execution plans to identify the bottleneck. Typical improvements include adding or revising indexes, eliminating inefficient query patterns, batching reads or writes, reducing lock contention, and introducing safe caching where appropriate. I would validate improvements with realistic load tests and monitor the change after deployment to ensure it improves both latency and database health.
I start by clarifying user outcomes, failure modes, constraints, and measurable success criteria. I document the architecture and operational plan, build automated tests and deployment safeguards, and ensure dashboards, alerts, runbooks, and rollback procedures are available before broad release. After launch, I review operational data and customer feedback to prioritize reliability and product improvements.
Synchronous calls are useful when the caller needs an immediate result and dependencies can meet the required latency and availability targets. Asynchronous messaging improves decoupling, resilience, and throughput for work that can be processed eventually, but it requires careful handling of ordering, duplicate delivery, observability, and eventual consistency. I choose based on the user-facing requirement and explicitly document the resulting failure and consistency behavior.
I would first break the work into clear, bounded requirements and provide the agent with relevant architectural context, interfaces, and acceptance criteria. I would review every generated change, run unit and integration tests, inspect migration and security implications, and verify behavior in a safe environment. The agent can accelerate implementation, but I retain responsibility for design decisions, correctness, and production readiness.
About this role.
Hi, I’m Paul, VP of Engineering at Customer.io. We’re looking for experienced backend engineers who care deeply about reliability, performance, and scalability. You’ll design, build, and evolve the systems that power communication at massive scale – while helping us push the boundaries of what great engineering can look like.
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
You own problems end to end. You move fast, act like an owner, and thrive in ambiguity. You’ve led complex projects before, whether officially or not, and you’re ready to do it again.
Engineers with product taste
You think like a user, not just an engineer. You care how your systems power real customer value – and how to make them better.
A healthy skepticism for “the way things are done.”
You bring rigor and creativity. Best practices matter – but never more than forward motion.
What You’ll Do
- Design and build distributed systems in Go that help customers send timely, relevant messages at scale
- Collaborate across teams to debug issues and deliver reliable solutions
- Own problems end to end – from architecture and schema design to testing, deployment, and monitoring
- Participate in an on-call rotation as required, supporting the reliability of the systems you build
- Share knowledge and raise the bar through sharing your progress publicly with short videos, thoughtful writing, and mentorship
- Use AI agents to make multi-file changes by scoping the work, writing the prompt, and verifying the output
What we’re looking for
- 7+ years of experience building scalable, distributed systems in Go (or similar statically typed languages)
- Comfort working in cloud-native environments (AWS, GCP)
- Familiarity with relational databases (we use MySQL) and an understanding of performance tradeoffs
- Experience with observability tooling and operating production systems
- A bias for action over perfection, and pride in owning technical decisions
Compensation & Benefits
We believe in transparency. Starting salary for this role is $150,000 – $200,000 USD (or equivalent in local currency) depending on experience and subject to market rate adjustment. In addition to base salary, this role includes an equity grant in the form of stock options, so you share in the success you help build.
We know our people are what make us great, and we’re committed to taking great care of them. Our inclusive benefits package supports your well-being and growth, including 100% coverage of medical, dental, vision, mental health, and supplemental insurance premiums for you and your family. We also offer 16 weeks paid parental leave, unlimited PTO, stipends for remote work and wellness, a professional development budget, and more.
Our Process
No gotchas, no trick questions – just a clear, human process designed to help both of us make an informed decision.
- Application – We review everyone with care. Tell us why you’re interested.
- Recruiter Call (30 mins) – Let’s chat about what you’re looking for and how we work.
- Hiring Manager Interview (60 mins) – Talk with one of our hiring managers about your working style and a project you’ve owned end-to-end, plus a short AI-assisted coding exercise.
- Technical Interview (60 mins) – A collaborative system design conversation focused on scaling challenges.
- Take-Home Assignment – Complete a short, realistic task similar to what you’d work on here.
- Assignment Review Call (60 mins) – Walk us through your work and discuss tradeoffs, priorities, and how you’d iterate.
All final candidates will be asked to complete a background check and employment verifications as part of our pre-employment process.
Customer.io recognizes the stifling impact of systemic injustice on diverse communities. We commit to using our influence to increase inclusion and equity within the tech industry. We strive to build an inclusive team culture, implement bias-free hiring practices, and develop community partnerships to expand our global impact.
Zoom is the only video conference platform that we use, virtual interviews will be conducted using the video capability (i.e., not via the chat), and offers will be extended in writing on official Customer.io letterhead. Please be vigilant in all of your job search activity, and if you have any questions please contact jobs@customer.io.
Join us!
We believe in empathy, transparency, responsibility, and, yes, a little awkwardness. If you’re excited by what you read and want to build software that makes communication better for everyone—apply now.
This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.
Apply now.
Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.
Continue on the employer website
Protect your personal information and never pay to secure an interview or job offer. .
