Senior Java Developer | IT Recruitment

Purpose of the Position:

  • 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 and/ or at least 3 years relevant experience as a developer as part of a team in a software development environment.
  • 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:
    • 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
  • 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)
    • Rule’s engines (i.e., Drools)
    • Design patterns (Object Oriented, SOLID, GRASP)
    • 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
Upload your CV/resume or any other relevant file. Max. file size: 20 MB.