– Preferably all these people to be situated in our Cape Town office. But if you find a really incredible candidate and they will work remotely from home in Gauteng we will look at the candidate, but CT will take preference.
– Only SA Citizen or Permanent Resident – Never an exception.
– The more comprehensive the CV with duties relating to development or to the duties required the quicker we can move the candidate through the process.
– Must have all reasons for leaving, please note if the person is leaving within a year for career growth the candidate will not be accepted, the only time this candidate will, is if they can show a very stable background in staying at companies for 2-3 years and more. Job stability is essential.
– Under 45 years old.

Job Specification
Key Roles and Responsibilities

CODE QUALITY

– SDLC – Leads or helps to lead project teams to design, develop and test enterprise-ready
business applications in a variety of configurations (e.g. web-based, desktop-based, service-
based or scheduled processes).
– BEST PRACTICES – Understands industry best practice related to coding and tools & understands the company’s established best practices.
– DEVELOP – Write quality code, set an example of quality for the team members. Gain team’s respect by producing quality of code and applying own practices
– CODE & PEER REVIEWS – Uses expertise and mentoring skills, alongside practices such as code reviews and code analysis, to ensure the team adheres to best practice when developing solutions.

SOLUTION DESIGN

– Designs, plans and oversees the development of entire solutions from scratch, or solutions that integrate with third -party applications, or that interact with existing legacy systems. Justifies design and development decisions based upon industry experience.
– Helps Database Developers design databases and ensures the Development Team writes
efficient, effective database access code in line with best practice.
– Owns, researches, evaluates and fully understands potential technical solutions to business
problems
– Must have a very good understanding of the solution architecture
– Removes technical impediments
– Set reasonable expectations for the team members

QA/TESTING

– Works with QA Analysts to develop and implement testing plans.
– Ensures the team writes the necessary code to automate testing in line with the Test-Driven
Development (TDD) methodology.

EXPERTISE

– Has well-established knowledge of programming languages and tools in general;
– Also has an understanding and recognition of where other appropriate tools are more
applicable.
– Be a “reference book” for the team

MANAGEMENT

– Perform technical management
– Build & maintain high team morale
– Be role model for the team
– Actively foster knowledge sharing, to avoid centralization of knowledge and avoid creating
dependences on any single person in projects
– Mentor & raise skill levels of team members
– Motivate team members, especially when working under pressure with tight deadlines
– Maintain quality deliverables, on time, to agreed expectations
– Be approachable to assist with any functional or technical concerns
– Maintain a balance between technical and leadership functions

ROOT CAUSE ANALYSIS

– Ensure the root causes of systems issues are diagnosed effectively by working with the team to improve their problem-solving skills and build upon their knowledge of existing systems.

COLLABORATE – Working collaboratively within the Agile development team:

– As a technical expert, works collaboratively with DPM, Architects, Developers, Product Owners, Business Analysts, QA (Testers) to identify and specify business requirements and derive the design of the related solution, and ensures these are translated into technical
specifications (including Class, Sequence and other UML diagrams) by the Development
team.
– Works alongside customers and DPM to ensure quality, effective software is delivered regularly by the team, in line with the SAFe (Agile) Development process and methodology.
– As a member of the team, to assist and enable other team members to meet sprint deliveries
according to the requirements set.
– Participate in Planning Meetings, Sprint Planning Development Cycles every 2 weeks and Daily Standup meetings
– Provide and document the technical design solution for the Developers to code.
– Deliver according to the Definition of Done and the Definition of Ready.
– Update JIRA with accurate information to identify risks/issues proactively at the sprint level
– Constantly looking for ways to increase the teams’ velocity/productivity by eliminating the
waste.
– Support the development process by assisting and mentoring Developers to understand the
technical solution.

Minimum Requirements
Mandatory Skills / Abilities required to do the Job

– Self-starter, able to manage individual responsibilities and also contribute successfully to team deliveries on complex, long-term projects.
– Practical problem solver with strong analytical ability and abstract thinking
– Able to devise and drive innovative design solutions
– Maintains strategic vision within their work
– Provides technical leadership and motivation to development staff
– Able to document information and share knowledge within team & across company
– Able to maintain customer focus with all deliverables (own & team’s)
– Strong interpersonal skills. Listening attentively to requirements, in depth questioning, interpretation and ability to see the holistic view of the business and assess technical impacts accordingly.
– Excellent verbal and written communication skills. Able to document and present the results of
technical design clearly and concisely.
– Able to Multi-task and manage multifaceted design projects (dual track)
– Technical and Leadership talents

Personal Attributes / Character traits required for this job

– Analytical thinker
– Critical thinking skills
– Delivery focused – deadline driven and adhere to Sprint deadlines
– Take initiative
– Structured approach to work
– Team Player – must be able to work collaboratively with the SAFe Team members
– Keen attention to detail
– Flexible/adaptable/approachable and willing to work in rapid changing, high delivery environment.
– Integrity & Professionalism
– Stays focused and retain prioritization skills under pressure
– Energy & personal drive to succeed
– Self-development to keep abreast of industries best practices, innovation and evolution in software development as well as technical toolsets
Education and General Working ExperienceEducation and General Working Experience
– Ideally an IT Diploma or related Degree will be an advantage but is not essential.
– Minimum requirement is Matric with at least 7 years of on the job work experience.
– Retail exposure would be an advantage
– Experience in using Agile (SAFe) methodologies will be an advantage.
– Exposure to Enterprise development preferred.

Technical skills required:

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

Learn more/Apply for this position