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
Is aware of, prepared to learn and follow industry best-practice when developing
Use programming languages and tools (generally) around the Java
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
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
Help research and evaluate potential technical solutions to business problems
CORE SKILLS / COMPETENCIES :
Strong communication skills, both written and
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
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
MINIMUM REQUIREMENTS :
IT Diploma or related Degree will be an advantage but is not essential
Proven Java experience of at least 3 - 5 years professional 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 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.
Basic JSE API (to v7)
GUI Development (Swing / SWT)
JAXP / JAXB
Logging frameworks (SLF4J, Log4J)
JSP & HTML (incl v5.0)
Caching mechanisms (ehCache)
Web Frameworks (Struts / JSF,PrimeFaces)
Spring (Core, Web, Remoting, Security etc.)
ORM Concepts and Frameworks (Specifically myBatis)
OOA / D
Design Patterns (GoF)
O / S
Windows - Desktop & server
Websphere (including Admin)
Integration Frameworks (Apache Camel)
Unit Testing Concepts (JUnit, Mockito etc.)
Retail Business Domain Knowledge
Agile - SCRUM
TDD / BDD / Specification-by-Example
Distributor Source Management Processes
Oracle Entry-Level Java Programmer
Oracle Java Professional Programmer