Senior Software Engineer
The Raspberry Pi Foundation is a UK-based educational charity with the mission to enable young people to realise their full potential through the power of computing and digital technologies. Our digital products and services are used by millions of people all over the world, providing high-quality learning experiences, online and for free, that engage and inspire young people to explore computing and digital making inside and outside of school.
We 9re looking for a Senior Software Engineer to join our team. You will model the ways of working for your team, proactively mentoring and coaching more junior engineers, helping them overcome technical challenges. You will also contribute actively to defining the ways of working for your team.
You 9ll develop our digital products and services, manage and improve our software delivery process, our code quality, and the design / architecture of our codebases.
You 9ll work within a supportive, and agile team of Product Managers, Engineering Managers, Product Designers, and fellow Software Engineers. Together, you will create a variety of digital products and services that support volunteers, educators, and learners. This is your chance to create products that have a real and positive impact on hundreds of thousands of young people across the world.
Responsibilities
- Lead technical delivery, from design to implementation through contribution and collaboration with your team.
- Coach and mentors more junior engineers.
- Lead software architecture proposals and their adoption.
- Proactively improve processes, security, resilience, scalability, performance, stability, quality, and cost effectiveness.
- Write elegant and secure code, following a test-driven approach that sets the standards for your team.
- Collaborate with senior stakeholders outside your team to understand their needs and how to realise them in our products.
- Architect, build, deploy and maintain developer tooling such as CI/CD, monitoring, security, testing, and debugging tools.
Experience and personal attributes
We recognise that everyone has the potential for growth. We welcome applications from candidates who can demonstrate that they have some, but not necessarily all, of the experience and personal attributes listed here. We also welcome applicants from non-traditional backgrounds, such as those returning to work, leaving military service, or having recently changed careers.
- Demonstrable first-hand experience of working as a professional Software Engineer across the software development lifecycle.
- A good understanding of Agile practices and experience leading Agile ceremonies.
- Experience coaching and mentoring more junior engineers.
- Excellent interpersonal skills with a collaborative approach to work.
- The ability to deliver and receive high quality constructive feedback.
- Strong communication skills outside of your team, and with non-technical stakeholders.
- A proactive approach to improve processes, security, resilience, scalability, performance, stability, quality, and cost effectiveness of the software you work on.
- Experience with multiple high-level languages such as Ruby, JavaScript, or Python.
- Experience with relational database systems (e.g. PostgreSQL).
- Knowledge of managing infrastructure on platforms such as Heroku, Cloudflare, and AWS using Infrastructure as Code.
- An interest in education, especially around computer science, physical computing, and digital making.