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 and Display 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
Performance analysis of 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 optimization (JIT compilers, Android, ChromeOS, …)
Build environments & Automation tooling
If you have an interest in CPU or GPU 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!
Please note multiple positions are available for this vacancy.
** Please indicate if you’re looking for an internship longer than 3 months.
What will I be accountable for?
As an intern, 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.
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 expected to understand and pursue are ones that are yet unknown to the general community.
Currently enrolled in a bachelor’s or master’s program, on track to earn a degree in computer science, or a related field
Essential Skills & Qualities
A real passion for embedded computing that goes beyond your studies
A creative and structured approach to problem-solving
Proficient knowledge of low level C and/or C++
A strong will and eagerness for learning and self-improvement
Desirable Skills and Qualities
A wide range of roles is available. 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 languages
Compilation technology, JIT (Just In Time) compilers…
Android, ChromeOS, RedHat, Debian internals/middleware development
Linux development or validation
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 debugger
With offices around the world, Arm is a diverse organisation of dedicated, innovative and highly talented professionals. By enabling a vibrant, 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.