Senior Software Engineer (Java/Go, Kafka, Flink, AWS)
$166,400,000–$187,200,000 year
RemoteCanada
Job Summary
Design and maintain scalable backend services using Java or Go, architecting event-driven systems with Apache Kafka and AWS streaming technologies. Build high-throughput data processing pipelines, optimize distributed systems for resiliency and operational excellence, and implement cloud-native solutions across DynamoDB, MSK, Kinesis, ECS/EKS, IAM, and S3. Develop CDC patterns and asynchronous messaging workflows while applying best practices for idempotency, retry mechanisms, and eventual consistency. Troubleshoot platform performance issues and collaborate with global teams to deliver production-ready software within weeks of onboarding.
Required Qualifications
- 7 to 10 years of professional software engineering experience
- Strong backend development experience using Java with Spring Boot or Go with modern service frameworks
- Hands-on production experience with Apache Kafka, including Producer and consumer APIs
- Hands-on production experience with Apache Kafka, including Partition design
- Hands-on production experience with Apache Kafka, including Retention management
- Hands-on production experience with Apache Kafka, including ACL configuration
- Hands-on production experience with Apache Kafka, including Kafka Admin Client
- Hands-on production experience with AWS services, including DynamoDB
- Hands-on production experience with AWS services, including MSK or Kinesis
- Hands-on production experience with AWS services, including ECS or EKS
- Hands-on production experience with AWS services, including IAM
- Hands-on production experience with AWS services, including S3
- Strong experience building event-driven architectures and streaming platforms
- Experience with Change Data Capture (CDC) patterns and asynchronous message processing
- Strong understanding of delivery guarantees, including exactly-once and at-least-once processing semantics
- Solid knowledge of distributed systems concepts including idempotency, retries with backoff, and eventual consistency
- Proven ability to join active projects and contribute effectively within the first one to two weeks
- 100% Remote
- Canada
Desired Qualifications
- Experience with Apache Flink, Flink SQL, or Kafka Streams
- Experience building stream consumers using AWS Kinesis Client Library (KCL)
- Experience implementing Outbox patterns, Debezium, or similar CDC frameworks
- Experience with DynamoDB single-table design
- Familiarity with GitOps deployment methodologies using ArgoCD or Flux
- Familiarity with Apache Iceberg, Apache Paimon, or other open table formats
Hiring someone like this?
Get your role in front of qualified candidates on Sorce.