Lock Applications for this job are now closed
    Closing soon

    Would you like to play a part in developing next-generation technology while working alongside and learning from some of the world’s best engineers?

    Our graduate programme is designed to give you the best start possible and support your personal growth as well as professional development. In addition to a competitive salary and rewards package, our on-the-job learning and mentoring/buddy schemes provide unparalleled learning and networking opportunities from the best in the industry.

    Job Overview

    We currently have a range of graduate opportunities in the Architecture and Technology Group (ATG), Central Technology (CT), and the Graphics Processing Unit (GPU) group.

    ATG work at the interface between software and hardware, helping to define both the features of the next generations of Arm architecture, and how software will cooperate with those features. We have roles in teams working under the following themes: security, software and firmware standards, performance modelling, memory management and modelling, interconnect technology, data interfaces, and power management.

    ATG is for you if you

    • Have a strong interest in computer architecture and low level, or embedded, software development.
    • Enjoy the in depth analysis of software behavior and performance and using these insights to propose and prototype enhancements to the Arm architecture.
    • Have strong software skills, preferably in C/C++, and Python.
    • Have an interest in learning about state-of-the art CPU designs from the inside, and for your work to have an industry-wide impact.

    CT delivers technological leadership by identifying and developing a sustainable pipeline of innovative technology to create faster, smaller, better products, every year. You will have the opportunity to make a big difference creating best-in-class products. We have graduate vacancies in teams that work in the following areas: CPUs, Computer Vision, Future Architecture Development, Image Processing, Algorithm Design, Performance Profiling, and optimizations.

    CT is for you if you

    • Have a passion for knowing how computers work, computer architecture and low level or embedded software.
    • Enjoy detailed analysis of software behavior and performance and using that analysis to propose improvements to Arm designs.
    • Are from any engineering background with experience of C/C++
    • Have an interest in learning about state-of-the art CPU designs from the inside, and for your work to have an industry-wide impact.

    GPU Software is one of the largest software groups within Arm but unlike with many CPUs, our GPU’s architecture is not public. This enables us to make big changes with each new GPU variant, delivering the latest graphics and compute technologies (such as VR/AR, AI and raytracing), and allowing us to continuously innovate with significant performance and efficiency improvements. We have teams covering compilers, DevOps, userspace and kernel device drivers, firmware, models, performance analysis, diagnostic and visualisation tools, OpenCL drivers, and many more.

    GPU is for you if you

    • Have a strong understanding of C or C++. Knowledge of Python is a bonus.
    • Some basic knowledge of Operating System concepts (such as memory management, scheduling, threads)
    • Ideally some knowledge or experience with HW concepts (e.g. via embedded programming)
    • An awareness of computer graphics concepts would be nice but is not vital

    Required Skills and Experience

    We are seeking the next generation of innovative engineers to join us! Ideally you will be studying, or have studied, a degree in Computer Science, Software Engineering, Electronic Engineering, or other relevant subjects such as Physics or Maths.

    Whilst we will develop and enhance your experience and skills on program, there are a few things that you need to offer too, such as:

    • A real passion for embedded computing that goes beyond your studies.
    • Have a creative and structured approach to problem-solving.
    • Have proficient knowledge of C and/or C++ or Python
    • Keenness to take every opportunity to learn and develop.

    “Nice To Have” Skills and Experience

    • Understanding the basics of computer architecture fundamentals, digital design concepts, CPU architecture and micro-architecture features (such as caches, MMU, SMP, coherency, CPU pipelines) and some knowledge of low-level assembler programming languages, processors and digital systems
    • Practical knowledge of factors which influence device performance.
    • Excellent attention to detail

    What Will You Get In Return?

    Our graduate roles are designed to help you make a real impact, while also building on key skills for your future studies and employment. We believe in developing talent, and therefore aim to offer many of our graduates accelerated progression.