Senior Java Developer - Cape Town Verfied

R 40K-55K per month Cape Town, Western Cape Cape Town, Western Cape more than 14 days ago 18-10-2016 6:10:50 AM
15-11-2016 6:10:50 AM
Our client is looking for a Senior Java Developer 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 clients, rich clients and batch users integrating via JMS and web services.

Requirements:
• Relevant tertiary qualification in Engineering or Computer Science
• At least 5 years relevant experience as a back-end developer as part of a team in a software development environment
• Experience in Java scripting languages is preferred
• Ability to work in a team environment: Follow mentorship/provide team leader mentorship, collaborate on a common (UML) design model
• A good understanding of the SDLC process, tools and techniques specifically as applied to software development methodology
• Experience with team development tools: Use of source control applications (preferably subversion); Use of a UML tool for documentation
• A strong knowledge of Java essential

Experience of the following technologies:
• JEE (J2EE) server side technologies
• Spring framework (preferable)
• JPA /Hibernate
• Experience with an application server (IBM WebSphere - preferable)
• Integration experience (Web services, JMS - nice to have)
• JAXB and XML Schema
• Maven & Ant
• SQL and experience with a relational database (Oracle, PostgreSQL, MySQL, DB2)
• Tapestry & JSP
• Swing & AWT
• SoapUI
• 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
• Rules engines (e.g. drools)
• Design patterns
• Groovy
• Continuous integration (Hudson, Bamboo or Jenkins)

Responsibilities:
• 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.
• Work effectively in a team environment and follow/develop product software development processes and standards
• 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 qualification tests.
• Incorporate the work done by other developers and do whatever is necessary to get the system to work again with the changes, including debugging other people’s code, making changes to test data, etc.
• Communicate with clients regarding product defects.