You are viewing an older revision! See the latest version


Come and work with us!

Our goal is to help people build their microcontroller prototypes faster then ever. So we're inventing, developing and maintaining all the novel hardware, software, tools, libraries and web infrastructure that make up the mbed rapid prototyping platform to do just that.

The mbed platform hasn't been around long and it is still early days, but it is already proving a great success. We are therefore looking for some really talented engineers, who share our vision, to join the mbed team and make it even better!

We're a small team and we need stand out people, so you need to stand out. Point us at your website or stuff you've done. Code or port something amazing to mbed that will demonstrate your skills. Tell us your ideas and how you'd make mbed better. Show us something that makes it clear you are the right person for the job!

Senior Embedded Software Engineer (apply)

The mbed team is a small start-up in ARM with a mission to enable rapid prototyping with microcontrollers for a very wide audience. We're building a novel combination of hardware, software, web tools and infrastructure that will bring a step-change in productivity for developers, enabling them to concentrate on prototyping remarkable products in record time. See for what we've achieved so far.

Job Purpose

Based in Cambridge, UK, this role is for a Senior Embedded Software Engineer who can lead defining and delivering software architecture for microcontrollers.

We are looking for a versatile and skilled embedded C/C++ Software Engineer with the depth of expertise in RTOS, driver stacks and libraries to develop microcontroller software library architecture and implementations that will enable the "batteries-included" experience of linux in the microcontroller space. You will enable the software framework for a community of developers to build on and around, eliminating the "from-scratch" MCU mentality and providing the familiarity of standards such as ANSI-C, POSIX and Linux.

You will be involved in all aspects of defining, designing, implementing, porting and testing the software libraries and framework to help users in their prototyping goals. This requires an eye for API design, the skill and attention to detail required for creating rock-solid implementations, the ability to quickly wrangle code and test ideas and work with unfamiliar middleware code-bases, as well as a familiarity with software toolchains, build systems and version control workflows.

You will help steer development in our day-to-day discussions, come up with great ideas, and help out with anything else you can turn your hand to. In summary, the ideal candidate is a highly skilled Embedded Engineer who understands what we are trying to do, can help us do it better, and who will very quickly become an essential member of the mbed team.

This is a full-time position located at the ARM HQ in Cambridge, UK, reporting to the technical lead.

Job Requirements

Education & Qualifications

You should have a good university degree (or equivalent) in Computer Science, Software Engineering or Electronic Engineering, although other disciplines will also be considered with relevant experience.

Essential Skills & Experience

  • Excellent embedded programming skills in C/C++
  • Experience writing complex device driver stacks (e.g. USB, TCP/IP, CAN)
  • In-depth experience of embedded RTOSes, including internals
  • An eye for software architecture and API design
  • Proactive approach that challenges conventions

Desirable Skills & Experience

  • Excellent MCU toolchain and C library/runtime knowledge
  • Kernel level knowledge and experience of Linux, including drivers, storage, networking
  • Experience working with open source projects
  • Fluent with DVCS (e.g. mercurial) and scripting languages (e.g. python)


  • Salary dependent upon experience
  • Shares (Restricted Share Units) at the discretion of ARM Holdings plc
  • Save As You Earn (SAYE) scheme
  • Private medical insurance
  • Permanent health insurance
  • Life assurance
  • Contributory pension
  • Relocation expenses as appropriate

6-12 month Industrial Placements (apply)

We're looking for excellent software and electronic engineering students or recent graduates who want to work in industry on real projects and products.

You will be available to join us for a 6-12 month placement, and be located at ARM HQ in Cambridge, UK.


The mbed platform helps users quickly develop microcontroller-based prototypes by providing much of the groundwork necessary for their development to build on. To support this further, we identify and undertake key reference design projects that can help make new components and modules accessible to everyone. Projects have included networking layers, robot IMUs, language interfaces and audio platforms.

You will help hardware and software for these reference design projects, and make them available to the mbed community to enable users to quickly experiment with them in their own designs.

In addition, you will contribute to reactive work, helping to support the mbed community. This will include developing code examples, investigating reported issues and questions, and publishing articles, tips and tricks. You will take a full and active role in all aspects of the team.

Job Requirements

You should have completed at least two years at a university studying a course with a significant electronics or software engineering element to it.

Desirable Skills & Experience

  • Programming skills in C/C++
  • Experience developing embedded applications for microcontrollers
  • Hardware and PCB design, circuit level fault finding and debug
  • An understanding of electronic circuit design
  • A keen general interest in software engineering, computer science and embedded electronics
  • A good portfolio of projects of your own; include a link

Placements are for a period of 6-12 months; In your application, make it very clear when you are available and for how long.

Here is a poster you can share: