We are looking for candidates who can fulfil the role of a Lead Product Engineer.
OUTPUT | CORE TASKS
- Apply critical thinking, design thinking and problem-solving skills in an agile team environment to solve complex technical problems (Front End, Back End and Integration) with high quality solutions
- Contribute to and in some cases lead all phases of the development lifecycle including e.g. design process
- Determine operational feasibility of solutions by evaluating analysis, problem definition, business requirements, solution development and proposed solutions
- Develop high quality software / application design and architecture in a test driven and domain driven / cross domain environment
- Quickly produce well-organised, optimised, and documented source code to deliver technical solutions
- Ensure designs and solutions support the technical organisation principles of self-service, repeatability, testability, scalability and resilience
- Apply general design patterns and paradigms to deliver technical solutions
- Create and maintain sophisticated CI / CD Pipelines (authoring and supporting CI/CD pipelines in Jenkins / Azure Devops or similar tools and deploy to multi-site environments – supporting and managing your applications all the way to production)
- Use and configure modern observability techniques to provide a deeper understanding of the application. To do this, leverage e.g. aggregated logging via ELK stack, metrics via Prometheus / Grafana / NewRelic and distributed tracing like Zipkin/Jaeger etc.
- Automate tasks through appropriate tools and scripting e.g. Docker, Ansible, Kubernetes
- Debug existing source code and polish feature sets
- Work with guilds and other technical SME’s to improve and evolve technical products and services
- Apply unit testing frameworks and perform integration, validation and verification testing (apply knowledge of stubbing tools e.g. wiremock, hoverfly etc.)
- Apply version control and related concepts and techniques
- Align all application development and development processes to Group Architecture, Security and Infrastructure guidelines
- Work with project and program teams (when required) to plan and manage the development lifecycle e.g. releases, risk management, testing, integration etc.
- Conduct reviews, performance monitoring and ongoing optimisation and maintenance on applications
- Stay ahead of the curve on emerging technologies and development practices e.g. scripting languages, containerisation etc.
- Contribute to the design and evolution of Group Architecture, Infrastructure and associated technical standards for the organisation
- Coach and mentor other engineers
- Conduct peer reviews, testing, problem solving within and across the broader team
- Provide technical subject matter expertise and support in the attraction and recruitment of Product Engineers for the organisation
- Participate as a subject matter expert in the development and development planning of the broader product engineering team
- Support the people change teams in the design of adoption processes (Customer, Employee and 3rd Party Adoption)
- Identify technical risks and mitigate these (pre, during & post deployment)
- Update / design all application documentation aligned to the organisation technical standards and risk / governance frameworks
- Create business cases and solution specifications for various governance processes (e.g. CTO approvals)
- Participate in incident management and DR activity – applying critical thinking, problem solving and technical expertise to get to the bottom of major incidents
- Deliver on time and on budget (always)
- Relevant B-Degree in Computer Science preferred but not essential if minimum requirements of experience in the following is evident:
- Cross domain knowledge
- Infrastructure Solutioning
- Web Applications
- Service Side
- Virtualisation and Cloud
- SSL Security
- CI/CD etc.
- 8+ years’ experience
- Agile practitioner and knowledge or experience of other delivery methodologies e.g. Kanban, RUP etc.
- Test-driven development and domain driven design
- Open-source relational databases
- CI / CD tools (like Jenkins, Bamboo, TFS, Azure Devops) and Artifact Management (preferably Nexus),
- Cloud platforms e.g. Azure, AWS & Google Cloud Platform
- Appropriate unit testing framework(s)
- Scripting languages like Bash and/or Python
- Application server containers: Tomcat, Jetty, JBoss, NodeJS, IIS, .Net Core etc.
- Solid understanding of messaging protocols and web services like SOAP and REST
- Solid understanding of Object-Oriented Design and ability to properly apply general design patterns and paradigms
- Familiar with OAuth, Open Connect ID and SAML, preferably with an understanding of AD / LDAP / Kerberos
- Familiar with Containerisation technologies like Docker and/or orchestrators like Kubernetes
- Ability to create and maintain sophisticated CI / CD pipelines
- Strong understanding of version control and related concepts and techniques, particularly Git
- Excellent debugging and problem-solving skills.
- Comfortable with stubbing tools like wiremock and/or hoverfly
- Excellent communication, analytical skills and decision-making ability in collaborative environments
- Making decisions, empowering individuals
- Directing people
- Embracing change
- Challenging ideas
- Team working
- Developing expertise
- Meeting timescales
- Only open to South African citizens
- If you have not had a response from us within seven days, please consider your application unsuccessful.