Arm

Embedded Software Engineer - Safety Critical Machines - 13482

Summary

Are you an experienced Software Developer with a strong background in Embedded Software Development? At Arm we are looking for highly motivated individuals who have a professional approach to Software Development and an interest in open source software. You would join a growing team of likeminded individuals that share a passion for contributing to the future of computing and wherever that ambition may lead. You will help Arm maintain its leadership in the low-power embedded market, as well as playing an essential role in helping Arm grow.

The Arm Open Source Software group enables partners to build software on Arm IP-based systems. We develop and contribute to open source projects, providing essential reference implementations and optimisations to key software system components, and also validated software stacks for Arm IP-based reference platforms used in intelligent devices. 

Job Requirements

The Embedded Software Developer will be a member of the Open Source Software group, specifically in the Safety Critical Machines team. You will be responsible for developing and contributing to open source software stacks suitable for automotive and robotics applications, helping to build our embedded software ecosystem around Arm IP products.

Responsibilities include

Software design of reference application software targeting automotive and robotics applications
Software development, test and debug on various platforms, including software models, development boards and shipping products
Requirements analysis and task breakdown
Providing technical advice and direction to both Arm’s, and Arm Partners' platform implementation projects
Upstreaming and maintenance
As an active member of an extended Open Source Software group you can expect to be working face to face with some of the greatest household names in our industry to help develop, optimize and deliver the software needed to support Arm's cutting edge IP, as well as helping Arm grow its role in new embedded and enterprise market segments.

A successful candidate will be flexible, with a variety of software development skills and a commitment to extend the breadth and depth of their knowledge. 
Job Requirements 

Education & Qualifications

Good university degree (or equivalent), ideally in a numerate subject, although other graduates would be considered if they have relevant experience. 

Essential Skills & Experience

Knowledge of a leading RISC based computer Architecture
Expert knowledge of embedded C development
Understanding of how to rigorously test software and design software for test
Experience of the software lifecycle: has taken complex software from concept, to production and maintenance
Strong interpersonal and communication skills: Excellent written and spoken English; can write coherent documentation; can influence and build consensus
Ability to work independently and in a distributed team
Ability to work face to face with key partners and their internal development programs
Professional and enthusiastic approach to work
Flair for lateral thinking and problem solving
Pro-active and self-motivating
Willingness to be flexible and accept new challenges
Desirable Skills & Experience

Knowledge of C++
Experience with at least one embedded Operating system
Familiarity with System-on-a-Chip architectures
An understanding of embedded power management techniques and security technologies
Experience with Git/Gerrit/GitHub
Familiarity with open-source project development cycles and contribution processes
Familiarity with testing methodology and automated testing systems
Experience with device driver development
Experience with assembly programming (not necessarily ARM)
Knowledge of software design techniques and how to maintain compatibility
Experience with standard firmware implementations: e.g. UEFI, U-Boot or Coreboot
Experience with boot-time drivers: for example, SATA, Ethernet, USB, Flash
Experience with robotics and automotive software frameworks, e.g. ROS or Apollo
Familiarity with Linux and / or Windows development environments
Knowledge of Python
Familiarity with Gnu make

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 collectiveInformation is crucial, share it
Realise that we win when we collaborate — and that everyone misses out when we don’t (what does collaborate)
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

Join the CW jobs mailing list

This site uses cookies.

We use cookies to help us to improve our site and they enable us to deliver the best possible service and customer experience. By clicking accept or continuing to use this site you are agreeing to our cookies policy. Learn more

Start typing and press enter or the magnifying glass to search

Sign up to our newsletter
Stay in touch with CW

Choosing to join an existing organisation means that you'll need to be approved before your registration is complete. You'll be notified by email when your request has been accepted.

i
Your password must be at least 8 characters long and contain at least 1 uppercase character, 1 lowercase character and at least 1 number.

I would like to subscribe to

Select at least one option*