Senior Java Developer
|Location||Cape Town, South Africa|
|Employment Type||Full Time|
|Experience||5 to 6 years|
|Remuneration Type||Cost to company|
- RESTful Services
- SOAP UI
- Systems Development Life Cycle (SDLC)
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.
- 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.
- 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.
- 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:
- 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
- SQL and experience with a relational database (i.e. Oracle, PostgreSQL, MySQL, DB2)
- 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:
- 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)
- Self-starter, self-motivated, team player
- Excellent communication and interpersonal skills
- Strong attention to detail
- Able to work under pressure and meet deadlines
Our client is a Global Technology Solutions Provider. Their core business focusses on the Customs and Border Management business sphere. Their solutions are proven to spur economic growth and facilitate trade, whilst mitigating risk to the borders of South Africa. The world changes daily and Customs agencies are defined by those changes, be it shifting trade and travel trends, to complex economic, social and political realities in our interconnected world.
Our client ensures that they stay on top of those trends and changes, whilst constantly re-focusing and customizing their large-scale smart software solutions.