Overall purpose of the job:

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 legacy 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 judgement and experience of prioritising and working to tight deadlines.
– Ability to learn fast and share knowledge, experience and best practices with team mates
– Willingness to take responsibility and ownership of their work.
– Empathise 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
– 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 4 – 7 years of professional Java development experience.
– Candidates with more or deeper development experience are welcome to apply.
– 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

Required Skill Sets:

Java

Basic JSE API (to v7)
GUI Development (Swing / SWT)
Java 5.0 Language Fundamentals (preferably Java 7)
JDBC
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
SQL

App 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:

– Clean criminal record required
– Applications will only be considered from RSA Citizens or applicants with permanent resident permits.
– For candidates replying to job adverts; if you do not hear back from us within 14 days, please assume that your application has been unsuccessful.

Your friendly recruiter to assist you is: Londi Ndlela

To apply for this position, please use the apply option on this job portal. For any other queries, please feel free to email me on: (email address) and I’ll get back to you as soon as possible.

Learn more/Apply for this position