The Raspberry Pi Foundation is a UK-based educational charity with a global mission to enable young people to realise their full potential through the power of computing and digital technologies.
We’re looking for an experienced Director of Software Engineering who will be responsible for the technical delivery of a range of educational products, as well as being involved in overall technology decisions at the Foundation. The Foundation’s products have a huge audience and make a measurable positive impact on young people and educators.
In this role, you will report to the Chief Technology and Product Officer and will be part of the Foundation’s Leadership Team. You’ll collaborate closely with colleagues leading Software Architecture, Product Design, and Product Management.
Your engineering team will consist of approximately 20 colleagues ranging from Apprentice Software Engineers to experienced Software Engineering Managers, who work both in Cambridge and remotely around the UK and Ireland.
You’ll need to have previously led a team of a similar scale, have experience managing managers, and be able to identify and make improvements to the team’s processes and ways of working.
Writing software won’t be how you spend most of your time day-to-day, but you’ll need to have excellent technical skills to be able to collaborate with the team and help them overcome challenges they may face. We use collaboration tools such as GitHub and Slack to communicate effectively.
We strive to make the Foundation a place where talented people who care about our mission can do the best work of their careers. We have a flexible and collaborative approach to all aspects of our work. If you’re the right person for the job, we’ll make it work for you, and you can be confident that you’ll be working with an exceptional team. You can work in our Cambridge office or remotely in the UK with occasional travel to Cambridge.
Responsibilities
Build, lead, and manage a highly skilled software engineering team, providing them with the clarity and support to enable them to do great work.
Effectively line-manage, coach, and mentor Software Engineering Managers, providing them with support and challenge to get the best out of their teams.
Develop the software engineering team’s ways of working, ensuring that they have the right tools, processes, and professional development.
Promote knowledge sharing across delivery teams and identify best practices that should be adopted more broadly.
Work with colleagues to set ambitious annual and quarterly OKRs.
Be accountable for delivery teams shipping high-quality software that reflects the organisation’s priorities.
Be accountable for key technology decisions and make sure that we’re consistent in our use of technology across the Foundation.
Work closely with the Head of Software Architecture to ensure our infrastructure and the architecture of our products are well-considered and fit for purpose.
As a member of the Digital Products Leadership Team and the Foundation’s wider Leadership team, contribute to the strategic direction, culture, and values of the organisation
Experience and personal attributes
We recognise that everyone has the potential for growth and we welcome applications from candidates who can demonstrate that they have some, but not all, of the experience and personal attributes listed here.
You should have:
Significant experience with a high-level language - ideally JavaScript, Ruby, or Python
Empathy, a pragmatic attitude, and the ability to see the bigger picture
Significant software architecture and system design experience
The ability to communicate effectively with technical and non-technical stakeholders
Experience managing managers and a proven track record of helping Software Engineering Managers and Software Engineers develop
Experience in successfully leading the technical development of products from concept to delivery
The ability to identify team member’s working styles and to help them succeed
Excellent knowledge of networking, HTTP and associated APIs, relational databases, debugging, testing, design patterns, and other programming practices
The skills to balance multiple priorities and deal with ambiguity