Attentive

Senior Software Engineer, Streaming

Job Description

About the Role
We’re looking for a highly driven Software Engineer with a strong grasp of distributed systems and streaming technologies. In this role, you’ll help lead our move to managed streaming platforms, expand self-service tools for developers, and ensure our event streaming infrastructure is robust, efficient, and reliable. Your work will enable faster innovation and directly support new customer-facing features at Attentive.


What You'll Accomplish
  • Architect and evolve Attentive’s next-generation event streaming platform: Design high-throughput, low-latency solutions that power mission-critical messaging, personalization, and data integration use cases across Attentive’s ecosystem
  • Drive the transition to managed services: Lead the migration from legacy infrastructure to managed event streaming platforms (e.g., Managed Kafka, Confluent), reducing operational overhead and enabling greater scale
  • Enhance self-service for product engineering and data teams: Build and refine self-serve tools for event observability, debugging, load testing, and system configuration, empowering teams to experiment and ship quickly
  • Simplify and modernize streaming architecture: Remove unnecessary abstraction layers, enable direct access for power users, and ensure the platform is flexible for both “paved path” and advanced use cases
  • Solve complex distributed systems challenges: Improve event delivery reliability, cost efficiency, and system integration for real-time and batch workloads
  • Champion best practices and technology selection: Stay ahead of industry advancements in event streaming, advocating for tools and approaches that balance innovation with long-term reliability
  • Collaborate across engineering: Partner with product, data, and infrastructure teams to launch new customer-facing features, integrations, and scalable solutions built on streaming infrastructure

  • Your Expertise
  • Proven experience architecting and supporting high-throughput, distributed systems at scale—especially those involving event streaming or messaging platforms
  • Deep understanding of the internals of distributed streaming frameworks such as Kafka, Flink, Pulsar, and/or Spark
  • Proficient in Java (Spring Boot) and familiar with modern development practices, including object-oriented design, data structures, and algorithms
  • Able to debug issues across the stack—from message serialization and event schemas to network and JVM tuning—and communicate tradeoffs clearly
  • Familiar with resource scheduling, data locality, and how infrastructure choices impact cost and system behavior
  • Experience with observability and developer tooling for streaming (e.g., tracing, metrics, replay).Infrastructure-as-code expertise (Terraform, Helm), comfortable with Kubernetes (EKS) and cloud-native environments
  • Track record of modernizing platforms: sunsetting legacy systems, moving to managed services, or implementing self-service capabilities
  • Excited by new technologies, but pragmatic about introducing them—focused on solving real business problems

  • What We Use
  • Event streaming: Apache Kafka, Pulsar, Flink
  • Cloud infrastructure: AWS EKS (Kubernetes), Terraform, Helm, Datadog, Istio, CloudFlare
  • Backend: Java, Spring Boot, Gradle, DynamoDB, Postgres, Redis, and other AWS-native services
  • Frontend/tools: (As relevant for observability dashboards) React, TypeScript, GraphQL, Storybook, Vite
  • Automation/data: Python, open-source frameworks for testing and observability, with integrations for ML and analytics use cases