- To develop functionality for a J2EE based product.
- The back-end is a service oriented Spring based application.
- It provides a service layer for different user channels ranging from web, rich clients and batch users integrating via JMS and web services.
- The work contains a portion of support and refactoring of existing code as well as new development (extend it for new functionality) and add extra integration points.
- Supporting existing and developing new functionality and components.
- Understanding existing products and domain elements and working with business analysts to refine and implement new requirements.
- Improving the code to keep the product maintainable and adaptable to new requirements.
- Evaluating and improving application performance and high availability features.
- Creating unit and integrated system tests to show that the developed functionality works as intended.
- Creating technical documentation that explains how the various components of the system work and how to use them.
- Performing root cause analysis on bugs to find and fix the cause of a problem in an integrated system.
- Building and deploying the system on an application server.
- Creating and executing functional test scenarios (dev testing).
- Relevant tertiary qualification in Information Technology or Computer/Engineering Sciences.
Skills / Experience:
- A strong knowledge of Java is essential.
- 2-3 years relevant experience as a senior back-end developer in a multi-tiered Java application development.
- A thorough understanding of SDLC processes, tools and techniques.
- Experience with source control applications (preferably GIT) and UML.
- Experience of the following technologies:
- JEE (J2EE) server side technologies, SOAP and Services
- Spring framework (preferable) | JPA / Hibernate
- Experience with an application server (IBM WebSphere – preferable)
- Integration experience (Web / RESTful services, JMS)
- JAXB and XML Schema | Maven
- SQL and experience with a relational database (i.e. Oracle, PostgreSQL, MySQL, DB2)
- SoapUI / Postman.
- Knowledge / experience in the following would be a plus:
- Business process/workflow layers e.g. JBPM, BPEL (Activiti)
- Rules engines (i.e. Drools)
- Design patterns (Object Oriented, SOLID, GRASP)
- Continuous integration tools (i.e. Jenkins, Bamboo, Docker)