Back-End Software Engineer
Must-have:JavaGraphQLGitDockerKubernetesCloudCI/CDTDDMicroservicesAIFinTech
Requirements
- Must have a minimum of 5 years of relevant experience in Java software engineering, ideally in a banking environment.
- Hands-on experience in core concepts and features introduced in Java 8 or later.
- Strong experience in the Spring framework, including core modules such as Spring Boot, Spring MVC, Spring Data, and dependency injection, with a focus on building scalable and maintainable applications.
- Proven experience in designing, developing, and maintaining microservices-based applications.
- Proven experience in designing applications using domain-driven design principles, understanding of bounded context, and awareness of design patterns and antipatterns.
- Hands-on experience in developing integration solutions using Apache Camel, including designing and implementing enterprise integration patterns (EIP), route configuration, and message transformation.
- Proficiency in deploying, managing, and scaling containerized applications using Kubernetes, including experience with resource management, namespaces, and Helm charts.
- Experience in containerizing Java applications using Maven plugins, particularly Jib, to build Docker or any OCI-compliant images, optimize container builds, customize layers, and manage container metadata.
- Experience with PostgreSQL or any RDBMS, and preferably with database management experience in a cloud environment. Experience with Hibernate ORM for database integration and query optimization.
- Experience with messaging systems like Apache Kafka, RabbitMQ, or WebSphere MQ, including designing, implementing, and maintaining event-driven architectures and message queues.
- Proficiency in building scalable and secure APIs (e.g., REST, gRPC, GraphQL, etc), adhering to industry standard practices in versioning and documentation (e.g. OpenAPI specs). Hands-on experience with asynchronous and event-driven APIs (AsyncAPI specs) and messaging protocols is a plus.
- Experience with continuous integration and continuous delivery/deployment pipelines.
- Proficient in version control systems, particularly Git.
- Experience with IntelliJ or VSCode.
- Strong understanding of code quality practices, including code reviews, unit testing / TDD, and integration testing. Experience with SonarQube and Checkmarx source code analysis tools.
- Experience in implementing BDD practices using tools like Cucumber and X-ray for Jira, integrating BDD frameworks into CI/CD pipelines to ensure continuous validation of functional requirements.
- Practical experience with a proven ability to translate high-level specifications and human intent into raw, production-ready codebases. The ideal candidate must be adept at steering AI coding agents through the core Spec Kit lifecycle (/constitution → /specify → /plan → /tasks), acting as the essential human gatekeeper who refines architectural intent, handles system edge cases, and verifies the generated code.