D

Java Developer at Discovery Limited

Discovery Limited
March 12, 2026
Full-time
On-site
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.


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
4-6 years' experience in software development


Advantageous:


IT related Degree or Diploma (BSc/BTech or similar)
Formal software development qualification(s), such as Object-Oriented Analysis & Design.


Key Technical Competencies

General:


Version control (GIT)
SQL


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 (RMI)
Integration services (REST / SOAP web services)
Presentation layer technologies (JavaServer Faces, HTML 5, JavaScript, CSS3)
Testing methodologies (Junit)
SDLC tools (Jira, BitBucket)