About the Position 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