- Company Name
- Rakuten Rewards
- Job Title
- Software Engineer
- Job Description
-
Job title: Software Engineer – Attribution Systems
Role Summary: Design, develop, and maintain resilient, high‑throughput distributed systems that enable real‑time order processing, tracking, and rewards attribution. Own scalable APIs, data pipelines, and AI‑enhanced stream processing in a cloud‑native environment.
Expectations: Deliver production‑grade, fault‑tolerant services at massive scale; collaborate with cross‑functional teams; champion test‑driven practices and continuous delivery; stay current with event‑driven architecture and AI integration trends.
Key Responsibilities:
* Architect and implement event‑driven, microservice‑based systems using Java/JVM languages.
* Develop and expose scalable RESTful or gRPC APIs.
* Build and tune Kafka/RabbitMQ/Kinesis‑based data pipelines and stream processing with Flink/Spark Streaming.
* Integrate AI/ML models into real‑time pipelines for attribution logic.
* Modernize legacy components into distributed architectures.
* Optimize performance in SQL and NoSQL databases.
* Deploy and manage applications on AWS/GCP, Docker, and Kubernetes.
* Configure monitoring, logging, and distributed tracing (Prometheus, Grafana, Jaeger).
* Conduct automated testing, enforce TDD, and maintain code quality.
* Leverage AI‑assisted development tools (e.g., GitHub Copilot) to improve productivity.
Required Skills:
* 2‑7 years of professional software development experience.
* Expert in Java or other JVM languages (Groovy).
* Proficient with multi‑threading, concurrency, and concurrent data structures.
* Strong knowledge of distributed system design (high availability, fault tolerance).
* Experience with event‑driven architectures and stream platforms (Kafka, RabbitMQ, Kinesis).
* Practical use of stream processing frameworks (Apache Flink, Spark Streaming).
* API design expertise (REST, gRPC).
* SQL & NoSQL database experience, including performance tuning.
* Hands‑on with AWS or GCP, Docker, Kubernetes.
* Familiarity with monitoring, logging, and tracing tools (Prometheus, Grafana, Jaeger).
* Commitment to Test‑Driven Development and automated testing practices.
* Preferred: experience with AI/ML pipeline integration, modernization of legacy systems, and use of AI‑assisted development tools.
Required Education & Certifications:
* Bachelor’s degree in Computer Science, Software Engineering, or related field (Master’s preferred).