Arm has a range of vacancies for enthusiastic graduates with a passion for embedded software development, Open Source software and CPU Architecture. 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!
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 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. 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 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
Remember to mention TARGETjobs when contacting employers!