Stack:
- Kotlin + Spring Boot (multi-module Maven)
- MongoDB with Spring Data Criteria API
- REST APIs, webhook handlers
- Docker / Kubernetes
Responsibilities:
- Build and maintain a multi-stage pipeline architecture for order processing
- Design and implement MongoDB queries — criteria-based filtering, bulk ops, projections, aggregations
- Extend a multi-module Maven project without breaking cross-module contracts
- Write and maintain REST controllers across merchant, admin, and 3rd-party integration layers
- Integrate external APIs (Shopify, courier partners) — handle pagination, streaming, error recovery
- Implement table-based listing endpoints with filtering, sorting, and cursor/page pagination
- Build state machines for entity lifecycle management
- Write repository-layer code — no post-fetch filtering, push logic to DB layer
- Debug and fix issues across the full stack — entity model → store → service → controller
Requirements:
- Strong Kotlin — data classes, sealed classes, extension functions, and coroutines awareness
- MongoDB proficiency — Criteria API, $elemMatch, $unset, index awareness, avoiding N+1
- Spring Boot — dependency injection, @Component/@Service layering, configuration
- Multi-module project navigation — understands module boundaries and dependency graphs
- REST API design — consistent request/response contracts, proper HTTP semantics
- Reads existing code before modifying it
- Does not over-engineer — minimum complexity for the task at hand