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.