Tech Stack
AWSCloudDistributed SystemsDockerHibernateJavaKafkaKotlinKubernetesLinuxPostgresPythonRedisSpringSpring BootSpringBoot
About the role
- Design, develop, and maintain REST API services and event-driven/batch processing systems using Spring Boot
- Architect and implement scalable, high-performance distributed systems
- Integrate RESTful APIs following OpenAPI Specification (OAS) and HATEOAS standards
- Identify and resolve performance bottlenecks; conduct load testing and monitor system metrics
- Write comprehensive unit and integration tests and enforce testing best practices
- Participate in CI/CD pipeline automation with emphasis on CircleCI
- Design, build and deploy containerized applications with Docker; leverage Kubernetes when needed
- Work with AWS services especially S3
- Integrate with databases, messaging systems, and AI/ML-powered components
- Contribute to architectural discussions and serve as a technical reference for other developers
- Collaborate with cross-functional teams to ensure seamless integration of system components and external services
Requirements
- 7+ years of professional software development experience
- 5+ years of hands-on experience with Spring Boot and Java ecosystem
- Advanced proficiency in Java (Java 21 preferred)
- 3+ years of experience designing, implementing, and troubleshooting distributed systems at scale
- Expertise in REST API development and implementation with OpenAPI Specification (OAS) and HATEOAS
- Proficiency with Hibernate/JPA for persistence
- Hands-on experience with PostgreSQL
- Proficiency in Kafka for event streaming and Redis for caching
- Strong knowledge of Docker
- Practical experience working in AWS especially with S3
- Mid-level proficiency in Linux (deployments, troubleshooting, scripting)
- Strong commitment to testing best practices (unit, integration, performance)
- Familiarity with CI/CD concepts and automation tools, practical experience in CircleCI preferred
- Bachelor’s or Master’s degree in Computer Science or related field, or equivalent experience
- Hands-on experience with AI/ML tools and vector databases
- Nice to have: Experience with Kotlin and/or Python
- Nice to have: Experience with Temporal (workflow orchestration)
- Nice to have: Experience with Stripe or other payment system workflows
- Nice to have: Knowledge of Flink and Quartz for job scheduling and stream processing
- Nice to have: Experience with Kubernetes for container orchestration
- Nice to have: Open-source contribution history
- Strong English communication skills (written and verbal)
- Transparent and proactive communicator, self-sufficient, problem-solving mindset, collaborative team player, adaptable, integrity and alignment with company values