Key Responsibilities
- Involve with software and product development and ad hoc projects
- Software development using Java, Spring Boot, Database (SQL Server), Kafka, Docker, Kubernetes
- Creating well architected and structured solutions
- Design, develop, enhance, test and integrate Web Applications
- Software analysis, software design, code implementation, software integration, module verification and validation
- Deliver software products for integration testing in accordance with standard procedures
- Prepare and maintain technical documentation and software deliverables
- Participate in technical discussions and provide solutions based on industry best practices
- Follow the group’s methodology (Agile included)
The position requires autonomy and reliability in performing duties while maintaining close communication with rest of project/support team
Qualifications and Profile
- 8+ years of relevant working experience as a Java developer with good experience on SpringBoot, Kafka, Spark
- Good understanding & working knowledge with Agile/Scrum
- Hands-on experience of end-to-end design and implementation of complex IT systems
- Bachelor or Technical Degree in Computer Science, IS, or IT is preferred
- Previous experience in the banking industry is preferred
Technical (Mandatory)
- Strong knowledge in Core Java (Java 8+) and OOAD
- Good understanding and hands on experience in Spring Framework (Core, MVC, Security, AOP, Data, Integration, Transaction, Batch etc.) with SpringBoot
- Good experience with databases like SQL Server / Oracle
- Good understanding of Hibernate/JPA framework.
- Good experience with Kafka
- Experience with containerization technologies like Docker & Kubernetes and familiar with cloud native principles
- Experience with designing and developing API’s using REST and documenting it using Swagger
- Experience refactoring legacy applications into micro services is a plus
- Test driven mindset with strong skills in Junit, Mockito and other Unit testing frameworks
- Experience with Eclipse/IntelliJ
- Strong knowledge on source code management system such as SVN / Git.
- Practical knowledge on Jenkins, Nexus, Maven/Gradle
- Experience with Tomcat/Jetty or other java-based application servers
- Knowledge of scripting (bourne, kern, bash)
Technical (Nice to have)
- Good understanding of JavaScript frameworks like Angular 6+/React
- Good understanding/experience with SPARK framework
- Experience with Apache or Nginx
- Experience with BDD tools like Cucumber
- Experience with API management tools like WSO2 or Axway
- Familiarity with Elastic stack
- Experience with workflow management framework like Activiti/Flowable
Other Professional Skills and Mind-set:
- Strong organizational and communication skills
- Strong analytical and problem-solving skills
- Experienced working within a LEAN environment
- Awareness of various software development procedures
- Ability to follow defined procedures
- Proficient in Microsoft Office
- Understanding and respect of cultural diversity