Senior Software Engineer (Java/Go, Kafka, Flink, AWS)
New
100% Remote, CanadaContractSenior
Salary80 - 90 CAD per hour
Apply NowOpens the employer's application page
Job Details
- Experience
- 7 to 10 Years
- Required Skills
- AWSDynamoDBJavaSpring BootApache KafkaGoDistributed Systems
Requirements
- 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/consumer APIs, partitioning, retention, ACLs, and admin client.
- Hands-on production experience with AWS services including DynamoDB, MSK or Kinesis, ECS or EKS, IAM, and 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.
Responsibilities
- Design, develop, and maintain scalable backend services using Java or Go.
- Architect and implement event-driven systems leveraging Apache Kafka and AWS streaming technologies.
- Build and optimize high-throughput data processing pipelines and asynchronous messaging workflows.
- Develop reliable distributed systems with strong focus on resiliency, scalability, and operational excellence.
- Implement and maintain cloud-native solutions on AWS services including DynamoDB, MSK/Kinesis, ECS/EKS, IAM, and S3.
- Design partitioning strategies, retention policies, access controls, and consumer architectures for Kafka-based platforms.
- Drive implementation of data streaming solutions supporting CDC patterns and event processing requirements.
- Apply distributed systems best practices including idempotency, retry mechanisms, eventual consistency, and fault tolerance.
- Collaborate with cross-functional engineering teams to deliver production-ready software solutions.
- Troubleshoot, optimize, and improve platform performance, scalability, and reliability.
View Full Description & ApplyYou'll be redirected to the employer's site