Senior Software Engineer
Build and own the distributed systems infrastructure powering Customer.io's marketing automation platform, handling billions of events daily with a focus on scale, reliability, and real-time processing in Go.
About the job
What You'll Do
- Design and evolve distributed systems in Go to handle billions of daily events and messages and store and index petabytes of data
- Lead architectural decisions around performance, reliability, and real-time event processing
- Improve service-to-service communication through better APIs, messaging systems, and event-driven patterns
- Work across teams to uncover bottlenecks and system issues, and lead initiatives to resolve them for a smoother customer experience
- Tackle 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 raise the bar through sharing your progress publicly with short videos, thoughtful writing, and mentorship
- Leverage AI tools to prototype, move faster, and make better decisions
What You'll Bring / Requirements
- Significant experience (typically 10+ years) building scalable, distributed systems in Go (or similar statically typed languages)
- Deep experience with databases - relational (MySQL, Postgres) and non-relational (DynamoDB, BigTable) - and how to make them fast
- 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
- Deep experience with distributed systems and large-scale backend architecture
- Strong instincts around reliability, observability, and fault tolerance
- Comfort reasoning about performance, capacity, and trade-offs at scale
- Experience with event-driven systems, message queues, or data pipelines is a plus
- A collaborative mindset — you raise the team around you
Nice-to-Haves
- Experience with event-driven systems, message queues, or data pipelines
Compensation & Benefits
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. 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.
Skills
Go, Distributed Systems, MySQL, Postgres, DynamoDB, Bigtable, AWS, GCP, APIs, Observability, Event-Driven Systems, Message Queues, Data Pipelines
Similar jobs
Backend Engineering jobsSenior Software Engineer designing and scaling backend data infrastructure for clinical and scientific applications. The role requires 5+ years of backend experience, strong PostgreSQL and SQL expertise, event-streaming experience, and proficiency in Julia or Python.
Senior software engineer responsible for advancing a state-of-the-art search and information retrieval platform, improving relevance and latency while collaborating with ML, product, and mission teams. Requires 7+ years of backend development experience and deep expertise in search, NLP, and machine learning.
Build and operate highly performant Core API services for real-time fraud detection, owning reliability, observability, scaling, and production operations. The role requires 5+ years of backend experience with Go or Node.js and strong SRE practices.
The Software Architect will drive hands-on platform modernization across engineering teams, pairing with developers and guiding adoption of target-state architecture, AI-assisted development, and spec-driven practices. The role requires 8+ years of backend software development experience and expertise in distributed, event-driven systems.
Build and maintain highly available, scalable distributed services, data pipelines, and platform capabilities that power Internet intelligence and security products. The role requires 5+ years of distributed-systems software engineering experience and proficiency with Go, cloud platforms, messaging systems, and databases.