Staff Software Engineer
The Software (CE-SW) group is responsible for developing and improving the software ecosystem around Arm's next generation architectures and systems. This means working with processors and other hardware technology not yet available to the public. You will join a team of Software Engineers who share a passion for leaving their mark on the future of computing.
We are looking for software engineers to join the Arm Fast Models team responsible for building high-performance software models of Arm-based systems. These models enable early software development, architecture exploration, and system validation before silicon is available. Members of the modelling team transform hardware designs and specifications into high-performance software representations of hardware systems and components.
In this role, you will develop functional models of CPUs, system IP, and complete Arm's reference platforms using C++ and SystemC, working closely with hardware and software teams across Arm.
If you are similarly passionate about innovative technologies, then we would love to hear from you!
Key responsibilities include:
- Develop, test, and maintain high-performance functional models of Arm system-level IP using C++ and SystemC.
- Build virtual platforms representing complete Arm’s reference platforms to enable early firmware, OS, and application development before silicon availability.
- Collaborate with hardware architects and RTL designers to understand IP specifications and ensure accurate behavioral modelling.
- Work with open-source and software engineering teams to enable software bring-up on virtual platforms and diagnose system-level issues.
- Integrate multiple IP models to create scalable system-level simulations.
- Participate in planning and execution of development roadmaps, working with project managers and global engineering teams.
Required Skills and Experience
- Minimum 10+ years of proven experience.
- Strong C/C++ programming skills with experience in developing large-scale software systems.
- Experience in SoC or IP modelling using C++, SystemC, or TLM.
- Good understanding of computer architecture, microarchitecture, and SoC design concepts.
- Experience with software development practices including debugging, testing, and performance optimization.
- Experience using version control systems such as Git/Gerrit.
- Understanding of RISC-based architectures and familiarity with CPU instruction sets.
- Ability to work effectively independently and within distributed global teams.
- Strong interpersonal skills, excellent written and spoken English.
Nice to Have
- Experience with Programmer’s View (PV) modelling and SystemC TLM-2.0 methodologies.
- Knowledge of Arm architecture or Arm system IP (CPU, interconnects, GIC, SMMU, etc.).
- Experience building SoC virtual platforms or full-system simulators.
- Background in low-level software, firmware, bare-metal programming, or device drivers.
- Experience in supporting to large-scale multi-site software projects.
Why Join Us
- Work on modern virtual platforms used across the Arm ecosystem.
- Experience with hardware validation labs and test farms.
- Collaborate with world-class engineers across global Arm teams.
- A clear path for career progression, with scope to evolve into technical leadership or management roles.
Accommodations at Arm
At Arm, we want to build extraordinary teams. If you need an adjustment or an accommodation during the recruitment process, please email accommodations@arm.com. To note, by sending us the requested information, you consent to its use by Arm to arrange for appropriate accommodations. All accommodation or adjustment requests will be treated with confidentiality, and information concerning these requests will only be disclosed as necessary to provide the accommodation. Although this is not an exhaustive list, examples of support include breaks between interviews, having documents read aloud, or office accessibility. Please email us about anything we can do to accommodate you during the recruitment process.
Hybrid Working at Arm
Arm’s approach to hybrid working is designed to create a working environment that supports both high performance and personal wellbeing. We believe in bringing people together face to face to enable us to work at pace, whilst recognizing the value of flexibility. Within that framework, we empower groups/teams to determine their own hybrid working patterns, depending on the work and the team’s needs. Details of what this means for each role will be shared upon application. In some cases, the flexibility we can offer is limited by local legal, regulatory, tax, or other considerations, and where this is the case, we will collaborate with you to find the best solution. Please talk to us to find out more about what this could look like for you.
Equal Opportunities at Arm
Arm is an equal opportunity employer, committed to providing an environment of mutual respect where equal opportunities are available to all applicants and colleagues. We are a diverse organization of dedicated and innovative individuals, and don’t discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.