- Master’s degree in Computer Science, or related field or equivalent, and two (2) years of experience designing and developing real-time distributed systems to power core experiences
- Developing distributed systems with a focus on low latency, high throughput, and high availability
- Utilizing AWS services and ability to manage AWS components DynamoDB, S3, SQS, and IAM
- Using dependency injection frameworks including Guice and Spring to build modular and testable code
- Developing application through TDD (Test Driven Development) and unit testing process using Junit and Mockito
- Monitoring service health using Cloudwatch, DataDog, and Grafana
- Ensuring rapid delivery of services using CI/CD infrastructure
- Managing data pipelines, real-time data flows, stream processing and distributing data flows using Kafka, Flink, and Spark
- Ensuring high throughput through caching data in stores including Redis and Aerospike
- Utilizing MySQL database, Spring frameworks (Springboot and Spring Actuator), event streaming platforms including Kafka, Kinesis, SQS, and SNS and JVM based languages including Java/Kotlin