Graduate Software Engineer







Skills
Clerical • Engineering • Assembly Language • Credit • Clinical
The Role
Clerical • Engineering • Assembly Language • Credit • Clinical
Early Careers at Arm
Would you like to play a part in developing next-generation technology while working alongside and learning from some of the worlds 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. If you are looking for an exciting role Arm is the place for you.
Job Overview
We currently have a range of graduate opportunities across several groups including CPU, Architecture and Technology Group (ATG), Central Technology (CT) and Open-Source Software (OSS).
The CPU Group develops and delivers all Arm CPU IP, from the Applications processor in your phone to the Real-time processor in your car and the Microcontroller in every electronic gadget around you. We are a multi-disciplinary group with several projects running in parallel, each project requiring hardware and software engineers with a variety of skills working closely together to produce ground-breaking CPU products.
The Architecture and Technology Group (ATG) provides leadership for the technical direction of Arm, Arms partners, and the broader computing industry in a collaborative way. We model and develop technologies that will be used in new products and markets and maintain Arms leading position in the mobile and embedded spaces.
The Central Technology Group delivers technology leadership by identifying and developing a balanced pipeline of innovative technology to build faster, smaller, better products, every year.
The Machine Learning Group develops and execute strategies to grow Arm, define the right products and solutions, and ensure our customers are successful. We develop 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 Open-Source Software Group is an active contributor to many open-source projects and initiatives to enable new hardware capabilities and optimize performance on Arm architecture. Our projects span across a large range of domains and include Operating system development (Linux kernel; Zephyr, MbedOS, including big. LITTLE and power management, which make Arm a unique CPU architecture), Run-times-and Just-In-Time compilers (for Java / JS for Android or servers (OpenJDK), Rust) and Automotive (system level software hypervisor, Embedded Linux, Real-Time OS, for Autonomous driving framework, Critical application monitoring and Security to mention a few.
Required Skills and Experience
We are looking for the next generation of innovative engineers to join us! You will ideally 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, and this role is for you if you:
Have 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
Are prepared to take every opportunity to learn and develop!
Nice To Have Skills and Experience
This list is not exhaustive but will help you understand more about the sorts of skills you will develop:
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
A keen interest in processors and digital systems
Use of a UNIX environment and shell programming/scripting language e.g., Tcl, Perl, Python
Data analysis and visualisation, for example Jupyter Notebooks (differentiating).
Practical knowledge of factors which influence device performance (differentiating).
Excellent attention to detail
What you will 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!
What next?
Apply now! The role is scheduled to close on Monday 28th November 2022 and may close if we receive a high number of applicants