The mbed team within ARM are building tools and support resources to help a diverse audience prototype embedded designs that use microcontrollers. The team are responsible for creating, developing and maintaining the novel hardware, software, tools, libraries and web infrastructure that make up the mbed rapid prototyping platform, found at http://mbed.org
The mbed platform has recently launched, and is already proving a great success. We are therefore looking for talented engineers to join the mbed team to help build on this success and make mbed even better.
Currently, we're looking for...
We are looking for a skilled embedded software programmer to work with us on the mbed microcontroller software libraries and architecture, middleware, program build tools, and anything else.
You would likely begin as a contractor with a view to employment, and be located at ARM HQ in Cambridge, UK.
One aspect of the mbed platform is to provide solid software groundwork for users to build their prototypes upon. Specifically, this is providing intuitive libraries and APIs to enable developers to program without concern for low-level details during early stages of development.
The mbed APIs aim to support all the interfaces that are available on a modern microcontroller. For some of the more complex interfaces, we are working with partners to integrate existing middleware stacks such as RTOSes, TCP/IP, USB, CAN and others to enable users to experiment with these applications out-of-the-box. We also aim to help the mbed community working on external peripherals they are connecting to; communication modules such as GPS, GPRS, WiFi, Zigbee, Bluetooth, through to peripherals such as sensors, actuators and LCDs.
You will be involved in all aspects of defining, designing, implementing and testing these libraries to help users in their prototyping goals. This requires an eye for API design, and the skill and attention to detail required for creating rock-solid implementations. In addition, the ability to quickly understand and work with unfamiliar middleware code-bases is essential.
You will also likely be involved in various toolchain and library related infrastructure development such as compile build systems, 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.
Overall, you are a highly skilled embedded engineer who understands and believes in what we are trying to do, has a desire to help us do it better, and will very quickly become an essential member of the mbed team.
You should have a good university degree in a relevant subject, such as Computer Science, Software Engineering or Electronic Engineering.
Essential Skills & Experience
Desirable Skills & Experience
We're looking for embedded software and electronic engineering students or recent graduates who want to work in industry to build experience by working on real projects and products.
You would join us for a 3, 6 or 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 are looking to identify key enabling components and modules (such as Wifi, Bluetooth, Zigbee, GPRS/3G, LCDs) and provide the resources to make them easily accessible. You will help develop C/C++ libraries and hardware reference designs for these components and modules, making 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.
You should have completed at least two years at a university studying a course with a significant programming and software engineering element to it; such as Computer Science, Software Engineering or Electronic Engineering.
Essential Skills & Experience
Desirable Skills & Experience