Reference: JHB003726-ME-1
The Specialist Product Engineer (GPA) will be responsible for building high performing and scalable enterprise grade applications. This includes but is not limited to applying 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 and leading all phases of the development lifecycle to deliver. This role will report directly to the Lead Product Engineer in GPA.
Duties & Responsibilities
DevOps:
- 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 leveraging C# (.NET), Sql Server, Javascript/Typescript, ReactJs, Jenkins, Kubernetes, RabbitMq, Git.
- Contribute to and in some cases lead all phases of the development lifecycle including, eg. 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 DevSecOps CI/CD Pipelines (authoring and supporting CI/CD pipelines in Jenkins for deployment 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 using AppDynamics, Instana and Splunk.
- Automate tasks through appropriate tools and scripting, eg. Docker, Ansible, Kubernetes.
- Debug existing source code and polish feature sets.
- Work with guilds and other technical SMEs to improve and evolve technical products and services.
- Apply unit testing frameworks and perform integration, validation and verification testing using Moq and MsTest.
- Managing branching and merging in support of project delivery. Setup quality gates to ensure conformance to team best practices.
- Align all application development and development process to Group Architecture, Security and Infrastructure guidelines.
- Work with project and programme teams (when required) to plan and manage the development lifecycle, eg. 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, eg. scripting languages, containerisation etc.
People: - 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.
- Support the people change teams in the design of adoption processes (Customer, Employee and 3rd Party Adoption).
Risk & Governance: - Identify technical risks and mitigate these (pre, during and post deployment).
- Update/design all application documentation aligned to the organisation technical standards and risk/governance frameworks.
- 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).
#J-18808-Ljbffr