Arms Userspace Performance team is looking for skilled software performance
analysis engineers to join a growing team. Successful candidates will help
improve the performance of software running on Arm systems used across the
world.
## **About The Team**
You will join a team of Software Engineers who all share a passion for wanting
to stamp their mark on the future of computing, wherever it may lead. If you
are similarly passionate about leading edge technologies, then we want to hear
from you!
We strive to understand the hard problems of why software is not running as
fast as it could be. We tend to look into large software stacks with
sophisticated interactions. We work closely with our tooling teams and try to
come up with innovative ways to identify the root causes of performance
issues. We interact with different teams across Arm that can help us get more
insight into problems we face or help us improve the performance of the
workloads we are working on. Often we will connect with partner companies
trying to understand what performance issues they are facing. Our goals
include influencing decisions that hardware design teams make to help improve
performance of future designs.
We expect a professional, hardworking and flexible approach to work, with a
flair for creative lateral thinking and problem solving with a dedication to
extend the breadth and depth of your knowledge. Your strong interpersonal
skills are vital for success; we are looking for excellent written and spoken
English and be capable of writing documentation and mentoring junior
engineers.
We value diversity of ideas and want you to feel included and able to bring
your best self to your workplace.
## **Day to day activities will include:**
* Collecting data about how workloads run and analyzing it to understand the bottlenecks and what investigate next.
* Analysing and improving large codebases for different performance aspects.
* Working with different platforms that include the latest hardware, but also FPGAs and software models of upcoming hardware designs.
* Documenting the analysis performed, sharing knowledge within the team and wider.
* Producing write-ups and presentations to help other developers handle similar problems.
* Contributing improvements to open-source projects or directly to our partners.
## **Education & Qualifications:**
Established experience or a Bachelor’s (or above) degree or equivalent
experience in a STEM subject.
## **Essential Skills:**
* You will have excellent CC++ skills
* You have experience in profiling and tracing large applications to find bottlenecks of performance
* You are more than aware of the details of System Architecture (pipelines, caches, MMUs, interconnect, timers, multithreading)
* Problem solving and debugging skills are areas in which you have proficiency
## **Desirable Skills**
* We value understanding of runtimes engines for high level languages like Java, Java Script and similar.
* We find understanding of compiler optimizations very useful
* We are seeking understanding of OS concepts such as processes, threads, locks, virtual memory and how they relate to application performance
* Ability to reason about generated assembly code is highly desired
* We value familiarity with open-source project development cycles and contribution processes
* We are seeking an understanding of Arm architecture and tools
## **In Return:
**
Our UK offices are amazing places to collaborate. We also have some scope to
adapt the job role and title for the right person - if you are interested but
unsure whether you tick all the boxes, we still would love you to reach out!
We are keen to welcome versatile people into Arm!
#LI-MS
## **Accommodations at Arm**
At Arm, we want our people to **Do Great Things**. If you need support or an
accommodation to **Be Your Brilliant Self** during the recruitment process,
please email [accommodations@arm.com](mailto:accommodations@arm.com). To note,
by sending us the requested information, you consent to its use by Arm to
arrange for appropriate accommodations. All accommodation requests will be
treated with confidentiality, and information concerning these requests will
only be disclosed as necessary to provide the accommodation. Although this is
not an exhaustive list, examples of support include breaks between interviews,
having documents read aloud or office accessibility. Please email us about
anything we can do to accommodate you during the recruitment process.
## **Hybrid Working at Arm**
Arm’s approach to hybrid working is designed to create a working environment
that supports both high performance and personal wellbeing. We believe in
bringing people together face to face to enable us to work at pace, whilst
recognizing the value of flexibility. Within that framework, we empower
groupsteams to determine their own hybrid working patterns, depending on the
work and the team’s needs. Details of what this means for each role will be
shared upon application. In some cases, the flexibility we can offer is
limited by local legal, regulatory, tax, or other considerations, and where
this is the case, we will collaborate with you to find the best solution.
Please talk to us to find out more about what this could look like for you.
## **Equal Opportunities at Arm**
Arm is an equal opportunity employer, committed to providing an environment of
mutual respect where equal opportunities are available to all applicants and
colleagues. We are a diverse organization of dedicated and innovative
individuals, and don’t discriminate on the basis of race, color, religion,
sex, sexual orientation, gender identity, national origin, disability, or
status as a protected veteran.