Work as part of agile development teams, collaborating closely with product owner and business analysis roles to define the roadmap, and with the whole team to deliver it.
Work collaboratively to define and promote the product and technical vision, using iterative and just-in-time analysis and elaboration techniques to evolve designs and architectures.
Be equally focussed on ensuring the right thing is built, driven by business value; it is built right, with strong design and quality processes; and it is built fast enough, applying effective delivery practices.
Work pragmatically with client governance functions such as security, architecture and change to reduce and remove delivery and operational blockers.
Have a knack for understanding complex systems and be able to deduce and identify the key features and decisions. Communicate the business value and impacts in a way which creates shared understanding and drives effective and timely decision-making.
Communicate technical issues and decisions clearly and compellingly to business and technical audiences at all levels, both verbally and in writing, clearly describing business, delivery and operations impacts. Build consensus and understanding around these decisions, educating and taking people on a journey where needed.
Have the experience and wisdom to choose the right technology for the job at hand.
Have a strong understanding of the effect of technology choices and decisions on effective agile delivery, testability and maintainability.
Have a passion for understanding technology tools and techniques in detail and have an excellent understanding of the broader technology landscape.
Enjoy writing and reviewing code, debugging issues and getting into the guts of problems, leading by example.
Be personable and naturally build trust and empathy with colleagues and stakeholders.
Provide credible and authoritative leadership, while still focusing on empowering colleagues.
Create development opportunities for colleagues, while also identifying weaker areas and behavioural issues and addressing them appropriately.
Assess candidates and take a leading role in recruitment to form effective teams.
Have a strong focus on both delivery and operations and be able to bring the two together, working with product owners and operations teams (where relevant) to ensure delivered solutions are easily operable.
Bring a strong focus on non-functional requirements during delivery, including security, performance and capacity, resilience and availability, and maintainability and operability.
Diagnose and fix complicated and subtle problems in live systems, able to navigate all parts of large systems and use test and learn techniques to identify causes and fixes.
Have a strong background in pragmatic agile delivery.
Cover and support all roles within an agile delivery team when required, including scrum master, business analyst, tester and engineer.
Have a deep understanding of at least one development stack and a broad understanding of the character of different development stacks and be able to compare and contrast.
Have a strong understanding of SQL/RDMS patterns plus some experience with non-relational DBs.
Have a good working understanding of HTTP, TCP/IP, TLS and a basic understanding of networking, especially the security implications of network designs.