Company:
Discovery Limited
Industry: Insurance
Deadline: Not specified
Job Type: Full Time
Experience: 5 years
Location: Gauteng
Province:
Field: ICT / Computer
Key Purpose
- Our Software Engineers play a critical role in Vitality’s successful business model by building and maintaining software solutions, in line with quality and time parameters, to enable operation as a fully integrated composite business, offering brilliant products with seamless, intuitive customer journeys.
- The Principal Software Engineer leads and plans development across large or multiple teams, providing expertise in many technical areas or specialisms with very deep knowledge in a particular technical area. They are fully competent in two specialisms and are working towards competency in a third specialism. This role is required to influence both internally and externally with 3rd parties based on Vitality standards and governance.
Key outputs:
The successful applicant will be responsible for but not limited to the following job functions:
- Deliver to standards: Understand, adhere to and apply Vitality’s defined technical and process standards to ensure the effective management of risks and the protection of Vitality’s data.
- Recognised as the subject matter expert on adherence to standards and champions a modern engineering standard approach at Vitality.
- Encourage and reinforce the correct application of standards and leading by example.
- Provide input into the development of new standards and documentation improvements plus develop and/or write inhouse standards as well as standards for third party tools.
- Actively keep up to date with industry standards and ensure in-house standards are aligned with industry standards.
- Review and sign off on new standards to ensure they are in line with the Vitality way of working and current leading practice.
- Provide integrated solutions: ensure solutions are user-focused, strategically aligned and effectively integrated across multiple teams and platforms to ensure the business needs are met.
- Coordinate build activities across systems, and undertake and support integration testing activities.
- Responsible for assuring that software changes and/or enhancements are in line with the overall architecture and ensure that low level designs or integrated solutions meet the definition of “ready”.
- Work within and across teams to ensure seamless integration and get actively involved in complex trouble shooting if/when things go wrong.
- Contribute to design, taking into account information security and performance, to ensure that integration works, influencing planning and the management team to understand the impact on the delivery process.
- Engage stakeholders. Collaborate, work with and develop an understanding of the needs and requirements of both internal and external stakeholders in order to achieve the desired outcomes.
- Working with senior management, internal stakeholders and 3rd parties to understand the business requirements and technology design, discuss and agree product launch requirements and ensure integration across multiple journeys.
- Brief and make presentations to senior IT management, participate in and advise strategic and business planning processes.
- Define future requirements and identify opportunities for future optimisation.
- Identify and surface issues and solutions.
- Build and transfer skills and knowledge. Take responsibility for developing personal skills and expertise aligned to role.
- Identifies critical areas of future learning and development required by software engineers to remain current, and oversee the organisation of relevant training for software engineers.
- Coaches and mentors senior software engineers;
- Presents and participates in internal development sessions (lunch & learn / developer forum / case studies / learning circles) as requested by senior software engineers;
- Reviews available external programmes and makes recommendation;
- Puts Vitality forward for industry awards relating to knowledge and skills;
- Collaborate within and across teams. Work effectively together with others across varying areas of expertise to achieve the required results.
Personal Attributes and Skills
- Ability to foresee problems and to code for these problems
- Ability to take ownership and accountability
- Ability to work under pressure and to multi-task
- Ability to take the Lead on Technical Initiatives.
- Ability to communicate and collaborate with cross-functional teams
- Drive and initiative to get things done
- Ability to deal with complexity and migrate between detail and high level requirements
- Team work
- Innovation and Creative
Education and Experience:
Education:
- Matric
- BSc (Information Systems)
- BCom (Information Systems)
- Professional Qualification Level 6
- Formal Java Qualification (BENEFICIAL)
Experience:
- Do you have 5+ years of experience in microservice and event-driven architecture
- Do you have 2+ years of experience technical lead, and support technical team members
- Do you have 5+ years of experience in Java, Databases (MS SQL/Oracle/Postgres), DevOps and Agile .
- Do you have 5+ years of experience in Containers, Elastic, AWS, CICD, code quality (sonarqube) and cloud technologies
- Has held technical responsibility for the development, implementation and testing of at least one major application.
- Has a good knowledge of a wide area of IS concepts and practice, including the systems development life cycle, with a deep knowledge of at least one area of specialisation.
- Experience using the different development methodologies used by the organisation.
- is a member of professional bodies / institutions where applicable to their role and as agreed to with their manager;
- is recognised as an expert in their field e.g., speaks at internal conferences / forums; guest lectures at institutions; participates in recruitment drives;