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
• 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 & domain driven / cross domain environment
• Quickly produce well-organised, optimized, and documented source code to deliver technical solutions
• Ensure designs & solutions support the technical organisation principles of self-service, repeatability, testability, scalability & resilience
• Apply general design patterns and paradigms to deliver technical solutions
• Create & Maintain Sophisticated CI / CD Pipelines (authoring & 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 & 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 & development process to Group Architecture, Security & Infrastructure guidelines
• Work with project & program teams (when required) to plan & manage the development lifecycle e.g. releases, risk management, testing, integration etc.
• Conduct reviews, performance monitoring & ongoing optimization and maintenance on applications
• Stay ahead of the curve on emerging technologies and development practices e.g. scripting languages, containerization etc.
• Contribute to the design & evolution of Group Architecture, Infrastructure & associated technical standards for the organization
People
• Coach & 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 organization
• Participate as a subject matter expert in the development & development planning of the broader product engineering team
• Support the people change teams in the design of adoption processes (Customer, Employee & 3rd Party Adoption)
Risk & Governance
• Identify technical risks and mitigate these (pre, during & post deployment)
• Update / Design all application documentation aligned to the organization technical standards and risk / governance frameworks
• Create business cases & solution specifications for various governance processes (e.g. CTO approvals)
• Participate in incident management & DR activity – applying critical thinking, problem solving & technical expertise to get to the bottom of major incidents
• Deliver on time & on budget (always)