Apply now »

Developer (Senior)

Business Unit:  Discovery Central Services
Function:  Java Development
Date:  10 May 2024

 

Achieve more than     YOU BELIEVE  

 

 

 

 

 

 

 

 

 

 

 

 

Discovery – Group Information Services – CAS

Senior Developer    

 

About Discovery

Discovery’s core purpose is to make people healthier and to enhance and protect their lives. We seek out and invest in exceptional individuals who understand and support our core purpose, and whose own values align with those of Discovery. Our fast-paced and dynamic environment enables smart, self-driven people to be their best. As global thought leaders, Discovery is passionate about innovating in order to not only achieve financial success, but to ignite positive and meaningful change within our society.

 

About Group Information Services – CAS

Our division is responsible for designing, building and supporting central applications that are used both inside Discovery, as well as externally by our brokers and financial advisors. 

 

Key Purpose

We are seeking a developer responsible for building and supporting applications. Your primary responsibility will be to design and develop these layers of our applications, and to coordinate with the rest of the team working on different layers of the infrastructure. A commitment to collaborative problem solving, sophisticated design, and quality product is essential.

 

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

Knowledge – Processes:

  • Design patterns
  • Data modelling and design of database structures, including tools such as Enterprise Architect.
  • Unit and Systems Integration testing
  • SDLC methodologies (Agile, Waterfall, DevOps, etc) and tools (Jira, BitBucket, Quality Center, etc)
  • GIT version control

 

Advanced knowledge/experience – Technologies:

  • Java programming language (Java 7 or later)
  • Java EE
  • JBoss/Weblogic EAP (or similar Application Server)
  • Data layer (JPA, Domain Object Model, XML/XSD, JAXB, ORM frameworks, RDBMS – Oracle – and PL/SQL beneficial)
  • Business services (EJB, RMI)
  • Integration services (JMS, Apache Camel, REST / SOAP web services)
  • Messaging systems (Tibco EMS, Oracle Advanced Queuing, MQ)
  • Presentation layer technologies (Java Server Faces, Java Server Pages, HTML 5, JavaScript, jQuery, CSS3)
  • Design patterns (DAO, Command pattern, MVC, etc)
  • Spring Framework ( Spring MVC , Spring Batch)
  • Hibernate
  • JUnit or JMock
  • XML knowledge
  • JSON knowledge
  • SonarQube
  • Build tools (Apache Ant, Maven, Jenkins, etc)

 

Personal Attributes:

  • Self-starter who takes ownership and accountability and can work with minimal supervision – Most Important!
  • Passionate about technology and development
  • Results oriented with the ability to work under pressure and cope with multiple concurrent projects with changing priorities and deadlines
  • Strong analytical and problem-solving skills
  • Ability to deal with complexity and migrate between detailed and high-level requirements
  • Excellent written and verbal communication skills

 

Education and Experience

  • 3-year university degree in computer science or business informatics, or similar qualification, is highly preferable
  • 7 or more years’ experience in building and maintaining Java applications

 

 EMPLOYMENT EQUITY

The Company’s approved Employment Equity Plan and Targets will be considered as part of the recruitment process. As an Equal Opportunities employer, we actively encourage and welcome people with various disabilities to apply.

Apply now »