Modifies, develops, tests and maintains applications. Helps evaluate application systems, processes and requirements makes changes to those systems and maintains them where necessary.

Key responsibilities:

- Work as part of a project team to develop and test enterprise-ready business applications in a variety of configurations (e.g. web-based, desktop-based, service-based or scheduled processes).

- Help produce brand new solutions, solutions based upon third-party applications, or solutions that interact with existing systems.

- Is aware of, prepared to learn and follow industry best-practice when developing applications.

- Use programming languages and tools (generally) around the Java platform.

 -Work with Business Analysts to specify business requirements and help translate these requirements into technical specifications (including Class, Sequence and other UML diagrams).

- Help Database Developers write efficient and effective database access code.

 -Work with QA Analysts to implement testing plans and write the necessary code to automate testing in line with our Test-Driven Development methodology.

- Work with customers and project managers to deliver quality, effective software, in line with our Agile Development process.

 -Help diagnose the root causes of systems issues using their problem-solving skills.

- Help research and evaluate potential technical solutions to business problems

Personal Attributes / Character traits required for this job:

- Strong communication skills, both written and verbal.

- Good judgment and experience of prioritizing and working to tight deadlines.

- Ability to learn fast and share knowledge, experience and best practices with teammates

– Willingness to take responsibility and ownership of their work.

- Empathize with customers and communicate at the appropriate level

- Appreciation of their position within the wider roles & responsibilities of the DPS community
- Ability to work under pressure

- A practical approach to problem-solving

 -Able to document information and share knowledge with colleagues

- Follows a structured approach to their work

- Personal drive to succeed

Education and General Working Experience:

 -Ideally, an IT Diploma or related Degree will be an advantage but is not essential

 -Proven Java experience of at least 5 – 7 years of professional development experience

 -Candidates with more or deeper development experience are welcome to apply

 -The remuneration package will be tailored according to relevant technical experience

 -Development experience in a Scrum based Agile environment will be an advantage

 -Exposure to BDD/TDD will be a definite advantage

 –Exposure to Enterprise development is a requirement

 -Exposure to object-oriented design concepts will be an advantage

– Supervised Exercised:

- May assist and train lower level development staff.

Technical skills required:

The following represents a list of the technologies the incumbent will be required to operate in.
Being proficient in a good deal of these technologies will qualify you to apply for this position as knowledge of the complete stack will be an advantage but is not essential.

Java:

 -Basic JSE API (to v7)

 -GUI Development (Swing / SWT)

 -Java 5.0 Language Fundamentals (preferably Java 7) JDBC

 -J2EE

 -Servlets

 -JAXP / JAXB

 -Logging frameworks (SLF4J, Log4J)

 -EJB (MDBs)

 -JSP & HTML (incl. v5.0)

 -JSP Custom Tags

 -JavaScript / AJAX

 -AOP

 -Caching mechanisms (ehCache)

Frameworks:
 -Web Frameworks (Struts/JSF, PrimeFaces)

 -Spring (Core, Web, Remoting, Security, etc.)

 -ORM Concepts and Frameworks (Specifically myBatis)
XML:
 -Core Concepts

 -DTD/XSD

- XSL (XSL:FO)

Databases:
 -Core RDBMS Concepts

 -Oracle

 -DB/2

SQLApp Design:
 -OOA/D

 -Design Patterns (GoF)

 -Enterprise Patterns

 -Application Architecture

 -Technical Architecture

O/S:
 -Windows – Desktop & server

- Linux

App Servers:
 -Tomcat

 -Websphere (including Admin)

 -Integration Frameworks (Apache Camel)

General Dev.:
 -Unit Testing Concepts (JUnit, Mockito, etc.)

 -Maven

 -Retail Business Domain Knowledge

Scripting:
 -Python / Jython

 -Shell Scripting

Process:
 -Agile – SCRUM

 -TDD/BDD/Specification-by-Example

 -Distributor Source Management Processes

Certifications:
 -Oracle Entry-Level Java Programmer

 -Oracle Java Professional Programmer

PLEASE NOTE THE FOLLOWING:

- A clean criminal record required

 -Applications will only be considered from RSA Citizens or applicants with permanent resident permits.

Learn more/Apply for this position