Discovery Life
Key Purpose
To fulfil a pivotal role within a software development team that designs, develops and maintains the systems for Discovery’s dynamic Life Insurance business.
Areas of responsibility may include but not limited to
Planning:
- Perform a high-level impact analysis, establish Scope and provide estimates based on technical requirements.
- Proactively liaise with all stakeholders.
- Create required planning tasks in SDLC tool and set due dates according to agreed milestones.
Analysis and Design:
- Actively participate in the collaborative technical design process.
- Research and find effective solutions to technical issues that arise.
- Update development timelines based on final requirements.
- Liaise with the relevant subject matter experts where clarification is required.
Development:
- Translate technical requirements into executable code without errors.
- Ensure optimally performing system code in line with technical specifications, following prescribed process, architecture standards and procedures.
- Ensure delivery within agreed timeframes.
- Conduct unit testing and fix any defects found within the agreed SLA.
- Escalate risks to the project early on.
Quality and Testing:
- Run code through the automated code review tool, review errors with the technical lead and fix before committing to the code base.
- Perform peer code reviews to ensure consistent application of standards, logic and effective use of libraries and reusable aspects of the software.
- Develop and maintain reusable Unit Tests.
- Assist the Test Analyst in ensuring that a comprehensive test pack is produced, which includes all the required scenarios.
- Verify that the completed software meets the established standards and is fit for purpose.
- Review the risk / impact of defects found in testing, prioritize and ensure that the priority is accurate.
Risk and Release Management:
- Conform to the Build and Release cycles.
- Provide timeous support to the Quality Assurance Team when issues arise during testing.
- Handle all outstanding defects.
Production Support and Root Cause management:
- Ensure that the root cause of system errors are effectively analysed and prioritized for fixing.
- Proactively bring issues and problems to the attention of the team and propose solutions to solve them.
- Assist system users and the infrastructure teams with technical support issues.
Team Collaboration:
- Adhere to the culture of communication and collaboration across all teams.
- Attend and participate in the regular team / project stand-ups.
- Actively mentor team members where required.
- Provide feedback at the regular 1-on-1’s with your leader.
- Proactively set goals, track them and address any concerns with your leader.
- Participate in Performance reviews with your line manager and project leads.
- Actively participate in internal up-skilling initiatives.
- Transfer knowledge and contribute to building a shared knowledge base
Personal development:
- Keep abreast of current technological trends and how these might be applied in the Discovery environment.
- Constant improvement of knowledge of the various applications, their functions and data models.
General:
- Ability to communicate clearly, constructively and effectively. Able to follow and participate in technical, business process, and other discussions.
- Able to build strong business relationships with other members of the team and the business areas we support.
Personal Attributes and Skills
Intermediate knowledge of:
- Applicable programming disciplines and languages. Refer to technical competencies list.
- Data modelling and design of database structures
- Unit Testing
- Systems Integration testing
- SDLC methodologies
Behavioural Skills:
- Action orientated go-getter, hungry to learn and add real value.
- Self-motivated.
- Driven by a sense of responsibility and ownership.
- Structured and analytical problem solver: Obsessive about finding solutions to problems.
- Able to plan, organise and prioritize own work.
- Attention to detail.
- Able to multitask.
- Highly adaptive and flexible to a changing environment.
- Able to work independently, but also as an effective member of a Team: reliable, works actively with others towards common goal, communicates constructively, shares information, knowledge and experience, treats others in a respectful and supportive manner.
Education and Experience
Essential:
- Matric
- 3 years’ experience in software development
- IT related Degree or Diploma (BSc/BTech or similar).
Advantageous:
- Formal software development qualification(s), such as Object-Oriented Analysis & Design
- Development experience in the financial services/insurance industry
Key Technical Competencies
General:
- Version control (git)
Java:
- Java programming language
- Java EE
- JBoss EAP (or similar Application Server)
- Data layer (JPA, Domain Object Model, XML/XSD, JAXB, ORM frameworks, RDBMS and PL/SQL beneficial)
- Business services (EJB)
- Presentation layer technologies (JavaServer Faces, HTML 5, JavaScript, CSS3)
- Testing methodologies
- SDLC tools (Jira or BitBucket)
To apply for this job please visit careers.discovery.co.za.
