Arm's 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 C/C++ 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 accommodationsarm.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 groups/teams 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.