|REPORTS TO||:||Development Manager|
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. The work contains a portion of support and refactoring of the existing code as well as new development to 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.
- Create technical documentation to support developed components through their lifecycles.
- Do root cause analysis on bugs to find and fix the cause of a problem in an integrated system.
- Work effectively in a team environment, actively collaborating to improve software development processes and standards.
- Relevant tertiary qualification in Engineering or Information Sciences.
- A strong knowledge of Java essential.
- At least 5 years relevant experience as a back-end developer in multi-tier Java application development.
- Ability to work in a team environment, 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 Subversion); Use of a UML tool for documentation.
- Experience of the following technologies:
- JEE (J2EE) server side technologies, EJB’s and RESTful Services
- Spring framework (preferable)
- JPA /Hibernate
- Experience with an application server (i.e. Tomcat, Websphere,Weblogic)
- Integration experience (Web services, JMS – nice to have)
- 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
- Rules engines (i.e. drools)
- Design patterns
- Continuous integration tools (i.e. Hudson, Jenkins)
- Self starter, self motivated, team player
- Strong attention to detail
- Able to work under pressure and meet deadlines