Back-End Software Engineer
· 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.
Skills
- AI
- API
- BDD
- CI/CD
- Cloud
- Cucumber
- Design Patterns
- Docker
- Domain-Driven Design (DDD)
- Event Driven Architecture
- Git
- GraphQL
- gRPC
- Helm
- Hibernate
- Integration Testing
- IntelliJ IDEA
- Java
- Jira
- Kafka
- Kubernetes
- Maven
- Microservices
- MVC
- OpenAPI
- PostgreSQL
- RabbitMQ
- RDBMS
- SonarQube
- Spring
- TDD
- Unit Testing
- Version Control
- WebSphere