Our group is part of the Arm Open-Source Software division and we are working on what will be the next generation Open Source IoT SDK; you will join a team of highly experienced engineers who all share a vision and passion for building a foundation for this industry and thrive to accelerate the deployment of embedded devices.
We are looking for hardworking software engineers to help build the next-generation Software Development Kit for Arm’s Cortex M microcontrollers and IoT platforms that will be used to deploy billions of IoT devices.
This role is available in our Cambridge site.
What you’ll do
You will be contributing to the core of the Open IoT SDK, delivering device drivers, connectivity stacks and associated testing infrastructure. You will work in a mixture of a collaborative and open source environments, blended with Cloud Service Providers’ SDKs and Silicon Partners’ Platforms.
You have a passion for technology and an interest in the embedded systems, you love working collaboratively and you have strong interpersonal skills. You design solutions that are as simple as possible while keeping a high-level view on objectives. You take pride in helping improving quality of products by designing and creating tests that can help identify issues and improve performance metrics. You can collaborate with other specialists to fix problems. You take nothing for granted and take ownership of your work. You choose the right tool for the job. You design APIs that others find intuitive to use. You write documentation and code that others can understand, set high standards and deliver on time.
You will have the following technical skills:
‘ Significant experience in embedded software development.
‘ Outstanding C and C++ development skills
‘ Proficiency in Compilation process and tools, C libraries and microcontroller startup process
‘ Strong Python or scripting skills.
Knowledge of RTOS and system concepts.
‘ Experience with version control, preferably Git.
‘ Experience with Agile development.
‘ A methodical approach to solving problems and delivering solutions
Optionally you will also have some of the following:
‘ Experience with modern C++ standards (C++11 and newer).
‘ Experience developing on Arm Cortex-M microcontrollers, peripherals and using CMSIS standards
‘ Experience working on a large open source project.
‘ Experience developing tests and using continuous integration frameworks, such as Jenkins, Travis or CircleCI.
‘ Experience with connectivity stacks such as Bluetooth, WiFi, Ethernet.
‘ Experience with storage solutions, block device drivers and file-systems.
‘ Experience with TrustZone and secure software development principles.
At Arm, we are guided by our core beliefs that reflect our unique culture and guide our decisions, defining how we work together to defy ordinary and shape extraordinary:
We not I
‘ Take daily responsibility to make the Global Arm community thrive
‘ No individual owns the right answer. Brilliance is collective
‘ Information is crucial, share it
‘ Realise that we win when we collaborate and that everyone misses out when we don’t
Passion for progress
‘ Our differences are our strength. Widen and mix up the pool of people you connect with
‘ Difficult things can take unexpected directions. Stick with it
‘ Make feedback positive and expansive, not negative and narrow
‘ The essence of progress is that it can’t stop. Grow with it and own your own progress
Be your brilliant self
‘ Be quirky not egocentric
‘ Recognise the power in saying ‘I don’t know’
‘ Make trust our default position
‘ Hold strong opinions lightly
We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, colour, sex, age, national origin, religion, sexual orientation, gender identity, status as a veteran, and basis of disability or any other federal, state or local protected class.