Career Level Staff
Experience 2 Years
Qualifications Bachelor's Degree
Our team isresponsible for developing high performance compilers and numerical libraries as well as tools to help improve performance of software on these systems. We are looking for highly skilled and motivated software engineers to join our elite team.
You will have opportunities to work on a focused project involving researching, developing and delivering into the high performance ecosystem for the Arm architecture.
You will strive to improve the performance of generated code, develop new features and help expand the use of this technology into new and existing markets. This will require innovation and ground breaking development on compilation tools and libraries based on a range of technologies, both proprietary and open source.
Opportunities exist for you within the following areas:
Development of new compiler and library features and optimisations, including auto-vectorisation, auto-parallelisation and parallel runtimes, especially using Arm’s new Scalable Vector Extensions (SVE).
Optimising numerical routines as part of the Arm Performance Libraries product.
Developing new tools to aide users in optimizing codes on Arm systems to increase performance.
Driving continuous delivery infrastructure and tooling improvements across the project teams.
Working with other divisions in Arm to expand support of the Arm architecture.
Essential Skills & Experience
Studying towards a degree in maths, physics, computer science or engineering or similar
Excellent programming skills: within the team the main languages used are C,C++ and Fortran.
Strong abstract reasoning skills with an ability to focus on key concepts at all levels of detail.
Understanding of algorithms and data structures.
Self-driven, independent problem solver, technically versatile, willing to be flexible and accept new challenges.
Effective verbal and written communication skills.
Ability to work alone as well as in a team.
Desirable Skills and Experience
The following is a list of some of the main skills that are used across our projects.
Highlighting where your abilities may match up with any of these will be useful in assessing applications. Don’t worry if your existing skills don’t match precisiely what we are developing, since we will be looking at your overall experience and interest levels and what you will be able to contribute to the team over the course of the internship.
Experience in Clang/LLVM, GCC or another compiler.
Understanding of the purpose and structure of compilers, assemblers and linkers.
Awareness of techniques in compiler optimizations and code generation.
Experience with vector architectures and auto-vecorisation techniques.
Experience with parallel programming and OpenMP.
Experience of maths libraries and other high performance libraries.
Understanding of at least one CPU architecture and instruction set.
Experience of developing, delivering and maintaining production quality software or working on open source projects.
Developing for Unix operating systems, in particular Linux.
Working effectively in extended teams across groups, sites and countries.
Exposure to software continuous delivery environments.
Proficiency in Python or other scripting languages.
At Arm, we are guided by our core beliefs that reflect our unique culture and guide our decisions, defining how we work together to defy ordinary and shape extraordinary:
We not I
Take daily responsibility to make the Global Arm community thrive
No individual has the right answer. Brilliance is collective
Information is essential, share it
Realise that we win when we collaborate — and that everyone misses out when we don’t
Passion for progress
Our differences are our strength. Widen and mix up the pool of people you connect with
Difficult things can take unexpected directions. Stick with it
Make feedback positive and expansive, not negative and narrow
The essence of progress is that it can’t stop. Grow with it and be responsible for your own progress
Be your brilliant self
Be quirky not egocentric
Recognise the power in saying ‘I don’t know’
Make trust our default position
Hold strong opinions lightly
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.