As a 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 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