Graduate Opportunity

Graduate Software Engineer 2021

Save to shortlist Saved to shortlist Apply now

Arm has a range of vacancies for enthusiastic graduates with a passion for embedded software development, Open Source software and CPU Architecture.

Arm Peterhouse Technology Park

Our new facility enables us to increase our headcount in Cambridge to 3,000 people.

If you have a software background and a willingness to learn, you will be considered for work in one of these areas:

  • Software design and implementation of features for our reference Mali Graphics processors (enabling our next generation Mali mobile IPs for APIs such as GLES, Vulkan, OpenCL, EGL) on Android
  • Compiler development using LLVM for GPGPU kernels
  • Compiler development including open source compilation technology for e.g. Apache TVM targeting Arm's CPUs, GPUs and NPUs.
  • Improvements and performance optimisations for Arm Compute Library and ArmNN.
  • Model Conditioning and sophisticated machine language framework optimisations in frameworks like Tensorflow and Pytorch.
  • Performance analysis of NPUs, GPUs or CPUs
  • Arm Secure Firmware development
  • Software stack development to enable Arm IP.
  • Operating system development (Linux, Zephyr, FreeRTOS, mbedOS, etc)
  • Verification of Arm CPUs using full-stack operating system software
  • Development of Software Tools for CPU Verification using Random Instruction Generation
  • Software optimisation (JIT compilers, Android, ChromeOS, …)
  • Build environments & Automation tooling.

If you have an interest in CPU, GPU or NPU architecture and you are passionate about software, whether it’s kernel, driver, application or tools development; If you’d like to know more about how hardware and software interact, then this is an outstanding opportunity for you!

What will I be accountable for?

As a Graduate, you will be placed in a development team at Arm’s offices in Cambridge, UK where you will have a dedicated mentor, and be able to get to grips with the problems ranging across many software areas. You will work across all aspects of the software lifecycle whilst being supported by and learning from the rest of the team.

Whilst a lot of our work does involve Open Source software, many tasks require working with development platforms, or simulated hardware environments where features are being developed and tested before the physical devices have been built, so the problems you will be encouraged to understand and pursue are ones that are yet unknown to the general community.

Job Requirements

Currently enrolled in a bachelor’s or master’s programme, on track to earn a degree in computer science, or a related field

Essential Skills & Qualities

  • A real passion for computing that goes beyond your studies
  • A creative and structured approach to problem-solving
  • Proficient knowledge of one of C/C++. Candidates with proficiency in Python will be considered for roles in our Machine Learning Group.
  • A strong will and eagerness for learning and self-improvement.

Desirable Skills and Qualities

A wide range of roles is available. Depending on the area you choose to pursue, an interest in any of the following would support your application:

  • 3D or GPGPU APIs
  • Knowledge of a leading RISC based computer architecture, ideally Arm
  • Evidence of Open Source project interaction or contribution (patches, bug reports, …)
  • Operating system kernel or device drivers
  • Knowledge of low-level assembler programming
  • Compilation technology, JIT (Just In Time) compilers…
  • Machine language frameworks like Tensorflow, PyTorch or Apache MXNet.
  • Android, ChromeOS, RedHat, Debian internals/middleware development
  • Linux development or validation
  • Domain specific and novel compiler frameworks like MLIR, Glow, Spiral, Halide, Tiramisu or Apache TVM.
  • Zephyr, FreeRTOS, other RTOS development or validation
  • Low level device driver development and integration experience
  • Understanding of CPU architecture and micro-architecture features (such as caches, MMU, SMP, coherency, CPU pipelines)
  • Familiarity with embedded power management techniques or security technologies
  • An understanding of radio protocol standards such as Bluetooth and/or Wireless LAN
  • Hands on experience with hardware and software debuggers.

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.

1e127ede32d8f816eacfb0aed73cee11

How to Apply (If you need any advice before applying please visit the Gradcracker CareerCentre)

Job ID Number: 17975
Save to shortlist Saved to shortlist
If asked, remember you found this job on Gradcracker!

Don't forget...