Build high-performing, scalable, enterprise-grade applications & build capability in others to do the same. 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 & leading all phases of the development lifecycle to deliver.
• 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
• 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)
Education and experience required
• 8+ years’ experience
• Experience with Cloud platforms e.g. Azure, AWS & Google Cloud Platform essential
• Relevant B-Degree in Computer Science preferred but not essential if minimum requirements of experience & practical application in the following is evident:
• Cross domain knowledge
• Infrastructure Solutioning
• Web Applications
• Service Side
• Virtualisation & Cloud
• SSL Security
• CI/CD etc.
• Experience as an agile practitioner and knowledge or experience of other delivery methodologies e.g.
Kanban, RUP etc.
• Excellent communication, analytical skills and decision making ability in collaborative environments
• Solid understanding of Object Oriented Design and ability to properly apply general design patterns and paradigms
• Experience with test-driven development and domain driven design
• Solid understanding of messaging protocols and web services like SOAP and REST
• Experience with open-source relational databases
• Knowledge of application server containers: Tomcat, Jetty, JBoss, NodeJS, IIS, .Net Core etc.
• Experience with CI / CD tools (like Jenkins, Bamboo, TFS, Azure Devops) and Artifact Management (preferably Nexus),
• Ability to create and maintain sophisticated CI / CD pipelines
• Strong understanding of version control and related concepts and techniques, particularly Git
• Experience with appropriate unit testing framework(s)
• Excellent debugging and problem-solving skills.
• Comfortable with stubbing tools like wiremock and/or hoverfly
• Experience with scripting languages like Bash and/or Python
• Familiar with OAuth, Open Connect ID and SAML, preferably with an understanding of AD / LDAP / Kerberos
• Familiar with Containerisation technologies like Docker & or orchestrators like Kubernetes
Competencies: (Maximum of 8 competencies)
• Making Decisions
• Empowering Individuals
• Directing People
• Embracing Change
• Challenging Ideas
• Team Working
• Developing Expertise
• Meeting Timescales