- Company Name
- Ascentia Partners
- Job Title
- Software Engineer (Java / Kotlin)
- Job Description
-
**Job Title**: Software Engineer – Java / Kotlin
**Role Summary**: Develop and maintain scalable, fault‑tolerant microservices on the JVM using Java 11+ and Kotlin within an Agile environment. Provide architectural input, optimise performance, and integrate with cloud, CI/CD, and observability pipelines.
**Expectations**: Demonstrate 5+ years of professional backend development, deep knowledge of JVM internals, and proven experience building production‑grade services for high‑volume fintech operations. Deliver clean, testable code and collaborate cross‑functionally on design and deployment. Progress capabilities in cloud, container orchestration, and modern JVM tooling.
**Key Responsibilities**
- Design, implement, and evolve scalable microservices with Spring Boot, Java, and Kotlin.
- Apply JVM performance tuning, memory management, and concurrency best practices.
- Build and publish RESTful APIs, integrating PostgreSQL, MongoDB, Kafka, and RabbitMQ.
- Participate in code reviews, design discussions, and architectural decisions.
- Contribute to and improve CI/CD pipelines (GitHub Actions, Jenkins, Terraform).
- Ensure high reliability, coverage, and documentation; advocate for test‑driven development.
- Optimize deployment strategies on AWS using Docker and Kubernetes.
- Monitor and enhance system performance and resiliency.
- Keep abreast of emerging JVM and Kotlin technologies.
**Required Skills**
- Proficiency in Java (11+) and Kotlin.
- Experience with Spring Boot, Gradle/Maven, JUnit, Mockito, TestContainers.
- Strong grasp of microservices architecture and RESTful API design.
- Practical knowledge of PostgreSQL and MongoDB databases.
- Expertise with message brokers (Kafka, RabbitMQ).
- Hands‑on AWS, Docker, and Kubernetes, plus CI/CD tooling.
- High coding standards: clean code, unit/integration tests, documentation.
- Solid problem‑solving and independent collaboration abilities.
- Excellent written and verbal communication.
**Required Education & Certifications**
- Bachelor’s degree in Computer Science, Software Engineering, or equivalent technical experience.
- Relevant certifications (e.g., AWS Certified Developer, Oracle Certified Professional Java SE) are advantageous but not mandatory.