This is a senior development role in the JAVA software development environment that includes the design of specifications, coding, implementation, testing, data conversion and documentation and system enhancements. The incumbent is individually accountable for achieving results through own efforts.
- A senior programming function that constructs solutions, including design of specifications, programming, implementation and testing (unit, systems & integration testing) in an Web development environment.
- Designs the test strategy and / or test plans.
- Documents new systems and systems enhancements.
- Provides higher-level technical and programming support to Programmers / Analyst Programmers and Junior Programmers.
- Analyses and assists with design of new applications and databases.
- Required to advise Management on effective applications, covering areas such as maintenance, support, man-machine interface and data management requirements.
- Provides sizing and scoping for development work required.
- Operates as a subject matter expert across program initiatives.
- Expected to task lead on certain work initiatives.
- Coaches and mentors new staff (programmers and analyst programmers).
- Provides Lead Technical direction.
- Leads large scale applications.
- Builds prototypes to assist the business with user requirements.
- Drives out business requirements.
- Provide production support if required.
- May need to train the business on new applications (in the absence of a BA).
- No supervision required.
Key Result Areas:Coaching
- Coaches and leads a team of developers.
- Provides higher-level technical and programming support.
- Accountable for service delivery through own efforts.
- Individually accountable for managing own time, tasks and output quality for periods of for periods of up to 1 year.
- Makes increased contributions by broadening individual skills.
- Collaborates effectively with others to achieve personal results.
- Accepts and lives the company values.
- Ensures technical integrity of the solution.
- Ensures that all system changes align with coding standards and principles.
- Assists with analysis and design of new systems and databases.
- Assists BA and Architect to translate strategic decisions into business solutions.
- Could advise management on effective applications, covering areas such as maintenance, support, man-machine interface and data management requirements.
- Designs & documents technical specifications/program specifications.
System Efficiency Optimization
- Ensures optimal efficiency of the solution.
- Proactively seeks opportunities to enhance the effectiveness and efficiency of the solution.
- Develops, tests and implements new systems and system changes in accordance with agreed coding standards and principles.
- Provides development solutions, which maintain the technical integrity of the solution.
- Performs data conversion.
- Documents system features and functionality.
Qualifications and experience:
- Matric, with relevant Programming/IT Diploma/ Degree
- 7 years or more, solid experience in programming, using, JAVA and Web Services (REST services, specifically JAX-RS).
- 5 years or more, experience in MS SQL Server/Oracle, with excellent SQL skills.
- Excellent problem solving and analytical skills.
- Solid Enterprise Integration experience.
- Experience in Agile and Iterative.
- Working knowledge of SOA (Service Orientated Architecture) and ESB (Enterprise Service Bus) patterns.
- Expertise on GIT operations - branching, forking, merging branches, handling pull requests and Build/Package Deployment activities.
- Experience in the following will be advantageous:
- AEM/ CQ5 templates, components, dialogue, widgets, slightly and bundles.
- Experienced on setting up AEM/CQ6 using Maven and standard Eclipse/IntelliJ tooling.
- Experienced on JCR, Sling web framework and Apache Felix OSGi framework, DAM, Workflows and dispatcher configuration.
- Experience with AngularJS.
- Good client/server understanding
- Good practical understanding and experience of XML, UML & industry standards/trends related to the software development environment.
- Practical experience in high volume capacity planning & performance tuning, heap and thread dump analysis.
- Working knowledge/experience in the support environment Incident/Problem Management.
- Ability to deliver as per agreed time standards and work under stress.
- Excellent verbal and written communication skills.
- Good system modelling skills and working knowledge using RSA and IBM IAA/IPS model will be an advantage.
- Collaboration (Relating)
- Customer First
- Innovation (Perspective)
- Leading with influence
- Personal Mastery (Learning)