At a Glance
- Tasks: Join a small team to develop and improve embedded software for the BBC micro:bit.
- Company: Micro:bit Educational Foundation, a not-for-profit inspiring creativity in digital technology.
- Benefits: Flexible working, competitive salary, and impactful outreach activities.
- Other info: Diverse and inclusive workplace with excellent career growth opportunities.
- Why this job: Make a real difference in education while working with cutting-edge technology.
- Qualifications: 4+ years in C/C++ embedded software development; eager to learn and collaborate.
The predicted salary is between 39000 - 65000 £ per year.
The Micro:bit Educational Foundation is a not-for-profit looking for a senior embedded software engineer with a willingness to get involved in all aspects of embedded software development and testing as part of a small team. You'll work on the embedded software and firmware that runs on the BBC micro:bit. Your work will support and positively impact students, teachers and partners around the world. Working with the Embedded Software lead and wider tech team, you will develop, improve and research the embedded systems that run on the 11 million micro:bits distributed around the world.
The device helps children and teachers get creative with digital technology, with a specific focus on broadening the diversity of students passionate about computing. This is a broad role in a small organisation, working predominantly on open source projects, in collaboration with other organisations like Lancaster University, Arm and Microsoft.
Current projects include:
- The micro:bit CODAL - the abstractions on which the primary, web-based editors for the micro:bit are built
- DAPLink - the micro:bit's firmware that enables the seamless experience in classrooms so the micro:bit can be programmed from the browser
- MicroPython for the micro:bit and pxt-microbit, from which MakeCode is built.
We want to enable a diversity of people to create amazing and creative things with the micro:bit, so empowering them to do as many different things, as easily as possible, is a key goal. The successful candidate will help us push the limit of what can be done with the micro:bit hardware, with an emphasis on writing expandable, efficient software, with user friendly interfaces.
Requirements
- More than 4 years experience developing C/C++ drivers and software to run on embedded devices (ideally Arm Cortex-M). Ideally on an RTOS or similar.
- Experience debugging software in embedded systems using electronic lab tools.
- Familiarity with test methodologies for embedded systems, including automated and manual tests.
- Excited to learn new tools and approaches.
- Diligent in delivering robust, tested and maintainable solutions.
- Empathetic and effective communication.
- Capable to work autonomously to achieve project objectives and to collaborate with internal teams, external organisations, and external collaborators.
This role requires building an understanding of our audience and working closely with teams across The Foundation. You'll contribute to the planning and design of new features and day-to-day operations.
Don't feel discouraged if you don't match many (or any) of the entries from this section. These are beneficial for the role but are not necessary. Ability to learn on the job and adapt to evolving challenges is more valuable than anything listed here.
Responsibilities
- To facilitate maintenance and development of new features in micro:bit embedded codebases: DAPLink, MicroPython, the C++ abstraction layer for micro:bit V1 (DAL) and micro:bit V2 (CODAL), and to ensure continued improvement in the educational experience for users of both micro:bit devices.
- To lead the process of maintaining these open source projects, including managing their GitHub repositories, continuous integration pipelines, release management, triaging and prioritising bug reports and pull requests, and identifying when to raise prioritisation with senior members of the team.
- To manage and continue development of the documentation required to facilitate the consumption of these open source projects by other projects (MakeCode, MicroPython) and C++ users.
- To manage and continue development of software/firmware tests to maintain and improve the stability, reliability, and performance of the embedded software.
- To prototype and explore new features and to support collaboration with other teams or organisations to experiment and prototype on the micro:bit platform.
There are now more than 11 million micro:bits running the embedded software stack you will be working on, and we estimate more than 65 million children around the world have learned to code with the BBC micro:bit. We have achieved this by working closely with engineering teams at our global partners, including Arm, Microsoft, MIT and Nominet. Through these partnerships, the micro:bit is at the heart of a diverse ecosystem of hardware accessories, software editors and educational resource providers. A key role of the tech team at The Foundation is to support this ecosystem in growing and diversifying in an open way.
The Micro:bit Educational Foundation is committed to improving the diversity of our team. We actively seek and welcome applications from women, and from all sections of the community.
Benefits
- Location – Oxford, UK (flexible)
- For this role, we believe there is value in face-to-face collaboration for design discussions and mentoring. This position is based at our central Oxford office, however a significant amount of flexible working is possible. We expect this role to be in the office at least 2 days per week on average. However, if you are not local to Oxford and are really excited about this opportunity, we would still love to hear from you.
- Global impact with your work. We are a small organisation with a large audience and reach. We thrive on creative problem solving and are open to new ideas and solutions. This gives each individual the chance to have enormous impact, as well as ensuring that your days will be diverse and the challenges complex.
- The Micro:bit Educational Foundation is a UK-based not for profit with the goal to inspire every child to create their best digital future.
- One of the greatest benefits of working at micro:bit is knowing that the work you're doing is contributing to something positive, constructive and with beneficial social outcomes.
- The Micro:bit Educational Foundation offers the opportunity to include outreach activities in your work, these can include working with tech community groups, teaching with the micro:bit at code clubs and so on.
Once probationary period is complete, contractual benefits include; group private medical and group life insurance plan, EAP plan, flexibility in working hours, flexible annual leave policy (taking at minimum 20 days a year not including national holidays) and pension arrangement.
Flexibility
The Micro:bit Educational Foundation is a flexible employer and we love to support our team to work around other commitments in their lives, and we have a track-record of actually doing this. Please get in touch if you're interested in this role but you require different working arrangements. This is a full time role but we would also consider candidates working 4 days a week on a pro-rata basis (a choice common across the team).
Salary
£45,000-65,000 depending on experience.
Application & recruitment schedule
There is no fixed closing date for this role. We will be conducting interviews on an ongoing basis. We monitor our performance on hiring diversity, using a questionnaire at the end of the application process. This is viewed by the operations team only, the aggregated data is shared with the wider team. The questionnaire is optional and you have the choice to not answer any question, but is hugely valuable for us to understand our performance in this area.
Applicants must have the right to live and work in the UK.
Senior Embedded Software and Firmware Engineer employer: Micro:bit Educational Foundation
Contact Detail:
Micro:bit Educational Foundation Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior Embedded Software and Firmware Engineer
✨Tip Number 1
Network like a pro! Reach out to folks in the embedded software community, especially those connected to the micro:bit. Attend meetups or online forums where you can chat about your passion for coding and education.
✨Tip Number 2
Show off your skills! Create a small project using the micro:bit and share it on GitHub. This not only demonstrates your technical abilities but also your commitment to open source and collaboration.
✨Tip Number 3
Prepare for the interview by brushing up on your knowledge of embedded systems and the specific technologies mentioned in the job description. Be ready to discuss how your experience aligns with their projects and goals.
✨Tip Number 4
Don’t hesitate to apply through our website! Even if you don’t tick every box, your enthusiasm and willingness to learn can make a huge difference. Just be honest about what you bring to the table and where you want to grow.
We think you need these skills to ace Senior Embedded Software and Firmware Engineer
Some tips for your application 🫡
Show Your Passion: When you're writing your application, let your enthusiasm for embedded software and the micro:bit shine through. We want to see how excited you are about making a difference in education and technology!
Tailor Your CV: Make sure your CV highlights relevant experience, especially with C/C++ and embedded systems. We love seeing how your skills align with our projects, so don’t hold back on showcasing your achievements!
Craft a Compelling Cover Letter: Use your cover letter to tell us why you’re the perfect fit for this role. Share specific examples of your work and how it relates to what we do at the Micro:bit Educational Foundation. This is your chance to stand out!
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way to ensure your application gets into the right hands. Plus, it shows us you’re serious about joining our team!
How to prepare for a job interview at Micro:bit Educational Foundation
✨Know Your Stuff
Make sure you brush up on your C/C++ skills, especially in the context of embedded systems. Familiarise yourself with the BBC micro:bit and its architecture, as well as the specific projects like DAPLink and MicroPython. Being able to discuss these topics confidently will show your genuine interest and expertise.
✨Show Your Problem-Solving Skills
Prepare to discuss past experiences where you've tackled complex issues in embedded software development. Think about specific challenges you've faced, how you approached them, and what the outcomes were. This will demonstrate your ability to think critically and creatively, which is key for this role.
✨Emphasise Collaboration
Since this role involves working closely with a small team and external partners, be ready to talk about your experience in collaborative environments. Share examples of how you've effectively communicated and worked with others to achieve project goals, especially in open-source settings.
✨Be Open to Learning
The Micro:bit Educational Foundation values adaptability and a willingness to learn. Be prepared to discuss how you've embraced new tools or methodologies in the past. Highlight your excitement for continuous improvement and how you plan to grow within the role.