Software Engineer (Java)
Employment Type: 12 months Full-time Contract (View to Extend based on performance)
About the role
We are looking for a Java Software Engineer to join a growing Software Engineering team within a banking / BFSI environment. You will be responsible for building, enhancing, and supporting enterprise-grade applications, working closely with business and technical stakeholders to deliver scalable, high-quality solutions.
This is a hands-on development role, ideal for engineers who enjoy working on core backend systems, APIs, and messaging-driven architectures in a regulated environment.
Key Responsibilities
- Design, develop, test, and maintain Java-based applications
- Translate business and functional requirements into robust technical solutions
- Apply TDD and unit/acceptance testing to ensure code quality
- Work with REST/SOAP services, messaging systems, and relational databases
- Optimise SQL queries and improve application performance
- Collaborate with cross-functional teams to meet delivery milestones
- Ensure code quality through Git, SonarQube/SonarLint, and best practices
- Support applications in a Linux-based environment
Required Skills & Experience
Must-Have Technical Skills
- Domain Experience: BFSI / Banking experience is strongly preferred due to system complexity and regulatory requirements
- Strong experience in Java 8+ and JUnit
- Spring Boot and core Spring framework concepts
- Solid computer science fundamentals (OOP, data structures, algorithms)
- Test-Driven Development (TDD) and acceptance test writing
- Maven for build and dependency management
- Relational Databases & SQL (joins, indexes, triggers, query optimisation)
- Web Services: REST and SOAP
- Java Messaging concepts (JMS, MQ)
- Basic Linux shell commands
- Hands-on experience with Git, IntelliJ, and SonarQube / SonarLint
Nice-to-Have Skills
- Application servers such as JBoss (or equivalent)
- JPA, EJB, JSF
- Advanced / complex SQL development
- Kafka
- ReactJS (for full-stack exposure)