This job has expired

Software Engineering Intern

Closing date
8 Dec 2021

View more

Contract Type
Full Time
You need to sign in or create an account to save a job.
Haven't heard of Arm before? If you have a smartphone, digital camera, digital TV, gaming console or a smart-meter at home, you've already used an Arm powered product. See, you do know us. Our technology is simply redefining the way people live their lives. From the unmissable to the invisible, our advanced processor designs have enabled 200 billion Arm technology-based chips to date (that's more than 125 products shipped every second!).

Founded by a dozen engineers working from a converted barn in Cambridge 30 years ago, we have grown to over 7000 employees in offices across the globe and aim to power a trillion IoT devices by 2035. We love our jobs because they empower us to make our mark on 70% of the technology used by the world's population. We are Arm. You know us. Now see why you should join us.

Are you creative, innovative, and enthusiastic about new technologies? Do you enjoy programming and have a knack for problem-solving? We are looking for students who are passionate about a career in software.

At Arm, you will shape the future of technology and collaborate in the development of next-generation Media Processors, CPUs, System components and System Solutions to power billions of digital devices worldwide.

Software Internships

We have a wide range of vacancies for enthusiastic Interns. If you have a software background and a willingness to learn, you will be considered for work in one of these areas:
  • In the DSG group, you will help to develop next-generation tools to support our customers to develop their own software for current and next-generation Arm IP products. Tools such as debuggers, profiling& optimisation, open-source & proprietary compilers, and specialist tools for High-Performance Computing & Android games development.
  • The GPU group is responsible for developing all the Mali graphics lines of products, all the way from the hardware design up to the drivers that interface the graphics APIs. At the moment we are looking for interns to work and learn with us in our GPU SW and GPU Modelling teams.
  • In the PEG group, you will learn about a wide range of Arm technologies, particularly software development tools, processor models and Arm architecture. You will use that knowledge to help troubleshoot customer issues and develop documentation such as application notes, tutorials or example code.
  • In the Productivity Engineering group (PE), we enable our engineers by providing the engineering tools, services and methodologies that let them work efficiently and effectively. The Data-Centric Engineering team in PE focuses on the data needs of Software and Hardware Engineers in Arm. It's an exciting time as we are building the next generation of data tools and services to allow Arm's hardware and software engineers to create their products on Arm powered data infrastructure.
  • The Machine Learning (ML) group develops tooling, software drivers, software libraries, Ahead Of Time (AOT) and Just In Time (JIT) compilers, ML applications, infrastructure and performance analysis to allow users to get the best performance out of Arm's hardware designs when using ML frameworks such as TensorFlow, Caffe and PyTorch.
  • The Central Technology (CT) group is responsible for developing large/invasive architectures and features that will land in future CPU/GPU/ISP/ML/System designs. We are currently looking for interns to join our Computer Vision, ISP Image processing, and GPU Media SW teams.
  • The OSS group is an active contributor to a number of open-source-software to enable new hardware capabilities, optimize performance and contribute to early investigations to develop future architectural-features in the context of their technologies (Trusted firmware, Android, IoT/Embedded, Automotive, Networking, Infrastructure & Cloud Computing).
As an intern, you will directly influence the development of technologies that are used extensively in a wide variety of devices, from mobile phones and tablets to sensors to servers.

You will work on real projects from day one, with support and guidance from experienced engineers. Through collaboration, training, and dedication to personal development, we ensure that every intern engineer learns about different aspects of our work and becomes an expert in the field.

What will your role be?

Depending on the team, you will have opportunities to:
  • Develop software to support early investigations and enablement of new CPU's and Architectural features.
  • Performance analysis of GPUs, CPUs or NPUs
  • Improvements and performance optimisations (for Arm Compute Library, ArmNN, JIT compilers, Android, Networking/Cloud computing, high-performance maths libraries for HPC, etc..)
  • Development of compilers targeting Arm's latest IP (LLVM for GPGPU kernels, JIT (Just in Time) compilers, Machine Learning Compilers including the AOT (Ahead Of Time) open source Apache TVM compiler targeting Arm's CPUs, GPUs and NPUs...)
  • Development of frontends for Arm's HPC focused compilers
  • Neural network model conditioning and optimizations tools in Machine Learning frameworks
  • Development of software drivers to enable deployment of ML application onto dedicated accelerator IPs
  • Deployment of ML applications on Arm technology to share learnings and tips with developers
  • Build environments & Automation tooling (DevOps)
  • Arm Trusted Firmware development
  • Operating system development (Linux, Zephyr, FreeRTOS, mbedOS, power management, etc)
  • Software design and implementation of features for our reference Mali Graphics and Display processors (enabling our next generation Mali mobile IPs for APIs such as GLES, Vulkan, OpenCL, EGL) on Android
  • Software stack development to enable Arm IP (for Embedded/IoT, Mobile, Automotive, Networking and Cloud computing).
  • Engage with customers in adoption and integration of Arm's technology
  • Development of debuggers & profilers for software development and device bring-up
  • Development of image processing and computer vision algorithms using combination of classical and neural network-based approaches
What's in it for You?

As an intern at Arm, you will make a real impact, while also building on key skills for your future studies and employment. We believe in developing talent for the future, and therefore aim to offer many of our interns a graduate position once they have finished their studies.

Working on interesting new projects is exciting, but we also know how important it is to receive support. That's why you have regular 1 to 1 meeting with your line manager who will be able to offer ongoing support, feedback and development opportunities. You will be given a certain amount of flexibility and freedom in how you decide to complete your project tasks.

As well as being offered a competitive salary, there are also opportunities to get involved in some of the many social events that are organised within Arm.

Are you a good fit for Arm?

To be considered, you will need to be studying for a degree in either Computer Science, Software Engineering, Electronic Engineering or other relevant subject such as Physics or Math. Other degree types may be considered with relevant experience.

Remember, we are looking for potential so the list below is neither pre requisites nor exhaustive.

Skills and experience that we look for in Software include:
  • Experience of at least one programming language
  • Motivated, independent, creative problem solver, technically versatile
  • An engineering mind-set with strong analytical and problem-solving skills
  • Excellent attention to detail
  • Good interpersonal and teamwork skills co-operating with Arm team members around the world
  • Excellent written and spoken English communication, capable of writing coherent reports, influencing and building consensus
  • Willingness to be flexible and accept new challenges
  • Ability to express ideas and communicate effectively
Other qualities that will help your CV stand out
  • Experience in building software outside of the classroom - personal projects, hackathons, or internships.
  • We are very keen to hire people with a passion for programming. If you can supply links to any of your projects online, we will take the time to look through them.
  • Contributions to open-source projects showing projects or interests that align with parts of our software story.
  • An interest in learning more about CPUs or other hardware, and getting involved in their development
You need to sign in or create an account to save a job.

Get job alerts

Create a job alert and receive personalised job recommendations straight to your inbox.

Create alert