About the role
Are you an experienced Software Developer with a strong background and understanding of System on Chip technologies and architectures? 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 like minded 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 optimizations to key software system components, and validated software stacks for Arm IP-based reference platforms used in intelligent devices.
What will I be accountable for?
As part of the modelling team within the Open Source Software group, you will be part of the team that builds highly efficient C++ software models and platforms for Arm’s leading-edge technologies, a base on which the rest of the Open Source Software group builds their software.
Responsibilities include but are not limited to:
- To develop, test, and maintain high speed software models for Arm’s advanced system level IP.
- To build Virtual Platforms that can be used for early software development.
- To support internal and external users of Arm models.
- To produce and execute model development plans in conjunction with project management and engineering peers.
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.
What skills, experience and qualifications do I need?
- University degree (or equivalent), ideally in a numerate subject, although other graduates would be considered if they have relevant experience.
- Knowledge of a leading RISC based computer Architecture
- Strong C/C++ skills
- Experience developing software, including coding, testing, and debugging.
- Understanding of the internals of computers and SoCs
- 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
- 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
- Understanding of CPU architecture
- Familiarity with one or more CPU instruction sets.
- Programmer View modelling experience, knowledge of Arm IP or architecture
- Experience with scripting, and source control systems such as GIT/Gerrit.
- Experience working on software projects in collaboration with a large multi-site team.