Staff Software Engineer ARM
- Job ID #: 10724
- Job Category: Software Engineering
- Employment Type: Experienced Professionals
- Division: Development Solutions
- Department: Development Solutions - Modelling
- Primary Country: UK
- Primary Location: Cambridge
We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, color, sex, age, national origin, religion, sexual orientation, gender identity, status as a veteran, and basis of disability or any other federal, state or local protected class.
ARM is looking for a highly skilled and motivated engineer to join the team that is modelling ARM’s next generation architectures and devices. You will create C++ software models of leading edge ARM technologies that will power future systems in markets such as data centres, mobile communications, and Internet of Things (IoT). You will also provide technical leadership to other members of the engineering team.
You will be joining an experienced multinational development team located in Cambridge, UK. The team is responsible for building and supporting high speed simulation models of ARM processors and embedded systems. These models are used internally to aid future IP design and software development, and are also delivered to our OEM and Silicon Partners. The models are distributed with configuration and analysis tools, and can be integrated into standard SystemC and RTL environments.
As part of the Modelling team, you will take on a technical leadership role for a specific aspect of modelling. You will build highly efficient C++ models and platforms, as well as working with other ARM teams to design systems to allow our Fast Models product to be used within their workflows.
Key objectives of this role include:
* To take a leadership role in developing, testing, and maintaining high speed software models for ARM’s advanced CPU and system level IP.
* To technically support other engineers.
* To be responsible for producing and executing model development plans for your area of responsibility, in conjunction with project management and engineering peers.
* To build Virtual Platforms that can be used for early software development.
* To support internal and external users of ARM models.
* To contribute to the continuous improvement of ARM modelling methodologies.
* To interact with ARM development teams working on other modelling technologies, advanced architectures, hardware design, software design, and validation.
Education & Qualifications
Good university degree in computer science or other relevant field.
Essential Skills & Experience
* Excellent and demonstrable C++ with knowledge of STL programming.
* Detailed understanding of CPU architecture and familiarity with one or more CPU instruction sets.
* Strong Software Engineering experience, including requirements analysis, design, implementation, testing, and debugging.
* Experience with Linux, scripting, and source control systems.
* Excellent interpersonal and communication skills.
* Enthusiastic and self motivating.
Desirable Skills & Experience
* Experience providing technical leadership to a team, and taking a product/feature from concept to customer.
* Experience using SystemC to connect modes from multiple vendors.
* Experience using gem5 or other similar modelling framework.
* Experience of cross-platform development under Linux and Windows.
* Experience with C++11/14.
* Experience building models of complex IP.
* Experience developing models using Dynamic Binary Translation (DBT) technology.
* Knowledge of x86_64 architecture and ABIs.
* Familiarity with ARM architectures.
* Knowledge of System Architectures including OS kernel internals.
* Experience of bare-metal software development.
* Experience of HW/SW interfaces at the platform level.
* Flair for lateral thinking and problem solving.
* Willingness to be flexible and accept new challenges.
Please note that we are hiring multiple software engineers at this location.
Your particular benefits package will depend on position and type of employment and may be subject to change. Your package will be confirmed on offer of employment. Arm’s benefits program provides permanent employees with the opportunity to stay innovative and healthy, ensure the wellness of their families, and create a positive working environment.
- Annual Bonus Plan
- Discretionary Cash Award
- Group Personal Pension Plan with enhanced company contribution
- Medical, Travel, Health & Life Insurances
- Holiday, 25 days annual leave with option to buy an additional 5 days per year
- Sabbatical, 20 paid days every four-year of service
- Volunteering, One (1) paid working day each year (TeamARM)
- Varies by location: cycle to work, free car parking, gym on site, team and social events
Arm® technology is at the heart of a computing and connectivity revolution that is transforming the way people live and businesses operate. From the unmissable to the invisible; our advanced, energy-efficient processor designs are enabling the intelligence in 86 billion silicon chips and securely powering products from the sensor to the smartphone to the supercomputer. With more than 1,000 technology partners including the world’s most famous business and consumer brands, we are driving Arm innovation into all areas compute is happening inside the chip, the network and the cloud.
With offices around the world, Arm is a diverse community of dedicated, innovative and highly talented professionals. By enabling an inclusive, meritocratic and open workplace where all our people can grow and succeed, we encourage our people to share their unique contributions to Arm's success in the global marketplace.
About the office
At our global HQ in Cambridge, England we house the majority of our engineering and our corporate groups that deliver our extraordinary success. As a world-renowned university town, Cambridge boasts both a beautiful countryside and a historical town center. Local activities include punting on the River Cam and the many museums that reside within Cambridge University.
110 Fulbourn Road