Key Roles, Responsibilities, and Skills / Competencies :
- Strong technical / software engineering background (hands-on)
- Strong application / software development or programming background in Java
- Good experience in system, application architecture, design, development, implementation, and deployment (end-to-end), development automation.
- Ability to work on different tiers of the application
- Object-oriented Design
- Experience in web technologies (Web Development, JavaScript Frameworks - preferably
- Angular 4, JavaScript, CSS, HTML5, Etc.)
- Solid experience on Spring Framework, Spring Boot, J2EE (Servlet, JSP, JDBC, JMS, EJB), JPA, Hibernate, Open Source Frameworks
- Solid experience with SOA Architectures, Microservices Architectures, and related integration
- protocols (e.g., Web Services (SOAP / XML), REST & JSON, and MQ), as well as the related security requirements / models
- Experience with application database management practices in a high-volume Java environment (SQL, DB2, and NoSQL Cassandra / MongoDB).
- Java Application Servers experience JEE / WebSphere, JBOSS)
- Experience with deploying and running Java applications in orchestrated container environments (Docker, Kubernetes)
- Solid CI, CD, DevOps, and related tooling experience, build / test / deploy through automation
- Performance and troubleshooting of Java Applications
- Good experience with integrated system environments
- Practical experience in a high-volume banking environment. (application clustering, scaling, multi-threading, session management)
- Experience with Application Integration challenges in a big corporate environment with ESB, e.g., WebSphere MessageBroker, DataPower, MQ-Series, and API Connect
- Proven ability as a problem-solver
- Self-driven, self-starter, technology leader, and able to work independently
- Must have working experience with the following tools / IDEs
- Eclipse
- InteliJ
- Git
- Maven
- Jenkins
- SonarQube
- Nexus
- Debugging and troubleshooting.
- Write well-documented and maintainable code
- Passion for software excellence and being quality-driven
- You must be prepared to bring new ideas to the workplace, but also to accept how things have been done and the reasons for doing things this way
Educational Requirements :
B-Degree in Computer Science or related technical field10+ years Java application programming / development experience5+ years Spring Framework, JEE-Experience3+ CI, CD, DevOps, Docker, Kubernetes Experience