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 3 – 5 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 a requirement.
– 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:
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.