Senior Java Developer - Cape Town Verfied

Salary Negotiable Cape Town, Western Cape Cape Town, Western Cape more than 14 days ago 24-08-2020 4:05:40 PM
19-10-2020 4:05:40 PM
Purpose:
To develop functionality for a JEE (J2EE) based product. The backend 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.
Responsibilities/Tasks:
• Support existing and develop new functionality and components.
• Understand existing product and domain elements and work with business analysts to refine and implement new requirements.
• Refactor and improve the code to keep the product maintainable and adaptable to new requirements.
• Evaluate and improve application performance, and high availability features.
• Create unit and integrated system tests to show that the developed functionality works as intended.
• Create technical documentation that explains how the various components of the system work and how to use them.
• Do root cause analysis on bugs to find and fix the cause of a problem in an integrated system.
• Build and deploy the system on an application server.
• Create and execute functional test scenarios (dev testing).
• Work effectively in a team environment, actively collaborating to improve software development processes and standards.
Requirements:
• Relevant tertiary qualification in Information Technology or Computer/Engineering Sciences.
• 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.
• Experience in scripting languages is preferred (e.g. JavaScript, Angular, Python/Jython).
• Ability to work in a team environment and collaborate on a common (UML) design model.
• A thorough understanding of SDLC processes, tools and techniques.
Skills and Knowledge Requirements:
• Experience with team development tools: Use of source control applications (preferably GIT); Use of a UML tool for documentation.
• Experience of the following technologies:
o JEE (J2EE) server side technologies, SOAP and Services
o Spring framework (preferable)
o JPA /Hibernate
o Experience with an application server (IBM Websphere - preferable)
o Integration experience (Web/RESTful services, JMS)
o JAXB and XML Schema
o Maven
o SQL and experience with a relational database (i.e. Oracle, PostgreSQL, MySQL, DB2)
o SoapUI/Postman
• Ability to deliver production quality software by e.g. paying attention to detail, do extensive unit testing and support quality testing phases.
• Knowledge and experience of the following would be a plus:
o Business process/workflow layers e.g. JBPM, BPEL (Activiti)
o Rules engines (i.e. Drools)
o Design patterns (Object Oriented, SOLID, GRASP)
o Continuous integration tools (i.e. Jenkins, Bamboo, Docker)
Personal Profile:
• Self-starter, self-motivated, team player
• Excellent communication and interpersonal skills
• Strong attention to detail
• Able to work under pressure and meet deadlines
• Finisher