Expires soon Arm

Software Simulation Engineer

  • Intermediate level job
  • Cambridge (Cambridgeshire)
  • Design / Civil engineering / Industrial engineering

Job description

Job description

Are you a Software Engineer with C++ and Python experience seeking a chance to to help enhance and maintain our gem5 infrastructure?

About the role


This is an opportunity to join ARM Research in Cambridge. We are seeking a highly motivated software engineer to join the ARM Research team to work on enhancing and maintaining our simulation infrastructure. In addition to maintaining existing simulation solutions, you will assist researchers in bringing up new workloads (for example Android, ChromeOS, and Linux). You will have a central software engineering function, working across multiple groups in ARM Research. These groups work on a wide set of topics including memory systems and interconnects, architecture and microarchitecture, and servers and high-performance computing.

ARM has invested considerable effort in creating an ARM-based system-simulation environment, built on the gem5 framework. The simulation environment is seeing wide-spread adoption across ARM, the ARM partnership, academia and wider industry--we aggressively push our work upstream to improve the general state of simulation. We are looking for a motivated software engineer to help enhance and maintain our gem5 infrastructure.

Candidates must have strong C++ and Python skills, as well as previous experience with large software code-bases and OS-level work. Previous open source contributions, knowledge about architecture and micro-architecture, and experience bringing up Linux/BSD systems from scratch are a plus. An ideal candidate will be self-motivating and has experience interacting with open-source projects.

What will I be accountable for?

The software engineer will work in ARM Research to maintain simulation infrastructure as needed to enable the Research's wider mission. This includes:

·  Maintaining existing gem5 and other simulation infrastructure.
·  Assisting researchers in workload bringup. For example, building and maintaining new Android releases for use within ARM Research.
·  Implementing and maintaining models of ARM System IP. For example, implementing a new interrupt controller model.
·  Interacting with the external gem5 open source community.
·  Planning and prioritising feature infrastructure work.
·  Based on the candidate's experience, the role can offer significant freedom to enhance and extend the simulation infrastructure and
·  drive improvements in tools that are heavily relied-upon by the Research group. "/>
Share:

·  Apply with LinkedIn

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.

Job Description

Software Simulation Engineer C++, Python

Job description

Are you a Software Engineer with C++ and Python experience seeking a chance to to help enhance and maintain our gem5 infrastructure?

About the role


This is an opportunity to join ARM Research in Cambridge. We are seeking a highly motivated software engineer to join the ARM Research team to work on enhancing and maintaining our simulation infrastructure. In addition to maintaining existing simulation solutions, you will assist researchers in bringing up new workloads (for example Android, ChromeOS, and Linux). You will have a central software engineering function, working across multiple groups in ARM Research. These groups work on a wide set of topics including memory systems and interconnects, architecture and microarchitecture, and servers and high-performance computing.

ARM has invested considerable effort in creating an ARM-based system-simulation environment, built on the gem5 framework. The simulation environment is seeing wide-spread adoption across ARM, the ARM partnership, academia and wider industry--we aggressively push our work upstream to improve the general state of simulation. We are looking for a motivated software engineer to help enhance and maintain our gem5 infrastructure.

Candidates must have strong C++ and Python skills, as well as previous experience with large software code-bases and OS-level work. Previous open source contributions, knowledge about architecture and micro-architecture, and experience bringing up Linux/BSD systems from scratch are a plus. An ideal candidate will be self-motivating and has experience interacting with open-source projects.

What will I be accountable for?

The software engineer will work in ARM Research to maintain simulation infrastructure as needed to enable the Research's wider mission. This includes:

·  Maintaining existing gem5 and other simulation infrastructure.
·  Assisting researchers in workload bringup. For example, building and maintaining new Android releases for use within ARM Research.
·  Implementing and maintaining models of ARM System IP. For example, implementing a new interrupt controller model.
·  Interacting with the external gem5 open source community.
·  Planning and prioritising feature infrastructure work.
·  Based on the candidate's experience, the role can offer significant freedom to enhance and extend the simulation infrastructure and
·  drive improvements in tools that are heavily relied-upon by the Research group.

Job Requirements

Education & Qualifications

Bachelor degree in Computer Science, Computer Engineering, or equivalent experience. A Master degree is preferred. Additional relevant experience, such as prior open source contributions, is a plus.

Essential Skills:

·  Excellent C++ knowledge (including some C++11 experience)
·  Excellent Python knowledge
·  Excellent debugging & problem solving skills
·  Excellent software engineering skills including knowledge about data structure and algorithms
·  Some simulation experience

Interpersonal Skills:

·  Express ideas and communicate effectively
·  Listen to, understand, and clarify feature requests
·  Schedule own workload and plan tasks independently
·  Good inter-personal skills
·  Willingness to be flexible and accept new challenges

Desirable Skills :

·  Knowledge of architecture and micro-architecture concepts such as pipelines, caching, coherence, and interconnects
·  Experience with computer architecture simulators
·  ARM Architecture knowledge
(ARM Assembler)
·  Shell programming
·  Knowledge of distributed version control systems
·  Experience interacting with open source projects

What are the desired behaviours for this role?

At ARM, we are proud to have a set of behaviours that reflect our unique culture and guide our decisions, defining how we work together to defy ordinary and shape extraordinary. These behaviours are assessed as part of the recruitment process:

·  Partner and customer focus – Your tendency to put your partners and customers first in all that you do by understanding their needs and striving to achieve win-win solutions.
·  Collaboration and communication – Your ability to forge lasting relationships which are built upon mutual trust, open communication and sharing of information and success.
·  Creativity and innovation – Possessing a passion for driving continuous improvement through spotting opportunities and seeking the views of others.
·  Team and personal development – You take time to drive your own development, whilst also encouraging team members and partners to do the same.
·  Impact and influence – You listen to different perspectives, evaluate, persuade and carefully shape your work to deliver truly impactful results.
·  Deliver on your promises – You demonstrate a can-do attitude and you drive to overcome obstacles, acting with a sense of urgency.

Location: Cambridge
Salary: Competitive
Start date: 11th April 2017
End Date: 9th May 2017

Benefits

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

About ARM

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.

Make every future a success.
  • Job directory
  • Business directory