About The Role
Are you an experienced Software Developer with a strong background in Systems Software Development? At Arm we seek 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 like-minded individuals that share a passion for pushing forward the future of computing wherever that ambition may lead. You will help Arm maintain its leadership in the low-power embedded market, as well as playing a meaningful role in helping Arm grow as we create innovate cutting edge solutions. These solutions are used by Arm partners in numerous of customer products from Mobile and Server, through IoT to Automotive industries.
The Arm Open Source Software group enables these 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.
As a Senior Software Developer you will be a member of the Open Source Software group, specifically in either the Firmware or Platforms teams. As such your responsibilities will include developing software for the Armv8 architecture, as well as building our software ecosystem around Arm's current and next generation products.
- You will contribute to the design and development of reference secure firmware for Arm application processors and MCUs.
- Your day to day role will involve low level software development, test and debug on various platforms, including software models, development boards and shipping products
- You will be creating software stacks for Arm’s reference platforms for next generation of Arm devices.
- We want you to be able to analyze industry specs, roadmap requirements, breakdown tasks and help execute the project plans
- We would like you to aspire to provide the best technical advice and direction to both Arm's, and Arm Partners', platform implementation projects
- Your activities will involve 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. Your goal will be to help develop, optimize and deliver the software needed to support Arm's state of the art IP. This helps Arm grow its role in new embedded, consumer and enterprise market segments.
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
- You will have excellent C skills; some assembly skills are desirable with proficiency with the GNU toolchain and/or LLVM and cross compiling
- You have expertise in low level systems software development and a command over a range of related concepts such as bootloaders, device drivers, OS fundamentals and low level power management.
- We look for 4-8 years of experience with an understanding kernel development or userspace system level programming.
- We require authoritative knowledge of multi-core software development including cache coherency concepts
- Your strong interpersonal skills are vital for success; we are looking for excellent written and spoken English; can you write precise documentation, influence and build consensus? Do you have the capability to support key partners with their internal development programs?
- You are disciplined and self-motivated with the ability to work independently and in a distributed team; showing a willingness to be flexible and accept new challenges
We expect a professional, enthusiastic and flexible approach to work with a flair for creative lateral thinking and problem solving with a commitment to extend the breadth and depth of your knowledge
Desirable Skills & Experience
- You have an understanding of software security concepts, methods and technologies.
- We seek individuals who have experience of software profiling, instrumentation and optimization
- You will exhibit an understanding of how to rigorously test software using various techniques
- You are familiar and flexible in the use of various software development lifecycle methods including Agile
- We value familiarity with open-source project development cycles and contribution processes
- You can show an awareness of the value of a rigorous CI and automated test system
- Your background shows practical expertise in version control systems, particularly distributed tools such as Git or Mercurial
- You can demonstrate a proficiency with scripting languages such as Python or Perl
- You can exhibit knowledge of software design techniques and how to maintain compatibility are within your skill set