The 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 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 2 years of professional Java 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 an advantage.
– Exposure to object-oriented design concepts will be an advantage

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.

Skill Set Skill

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

– 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