Overview
Senior Software Performance Analysis Engineer — Arm. 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 share a passion for wanting to stamp their mark on the future of computing. If you are equally passionate about leading edge technologies, 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 analyze large software stacks with sophisticated interactions, work with tooling teams to identify root causes of performance issues, and collaborate with Arm teams and partner companies to understand and improve workload performance. Our goals include influencing decisions that hardware design teams make to improve future designs.
We expect a professional, hardworking and flexible approach, with creative problem solving and a dedication to expanding knowledge. Strong written and spoken English are vital, as is the ability to document work and mentor junior engineers. We value diversity of ideas and encourage you to bring your best self to Arm.
Day to Day Activities
* Collecting data about how workloads run and analyzing it to identify bottlenecks and determine next investigation steps.
* Analyzing and improving large codebases for different performance aspects.
* Working with different platforms that include the latest hardware, along with FPGAs and software models of upcoming hardware designs.
* Documenting analyses and sharing knowledge within the team and wider organization.
* Producing write-ups and presentations to help other developers address similar problems.
* Contributing improvements to open-source projects or directly to partners.
Education & Qualifications
Established experience or a Bachelor\'s (or higher) degree or equivalent experience in a STEM subject.
Essential Skills
* Excellent C/C++ skills
* Experience profiling and tracing large applications to find performance bottlenecks
* Strong understanding of system architecture (pipelines, caches, MMUs, interconnects, timers, multithreading)
* Problem solving and debugging abilities
Desirable Skills
* Understanding of runtime engines for high-level languages like Java, JavaScript and similar
* Understanding of compiler optimizations
* Understanding of OS concepts such as processes, threads, locks, virtual memory and their relation to application performance
* Ability to reason about generated assembly code
* Familiarity with open-source project development cycles and contribution processes
* Understanding of Arm architecture and tools
In Return
Our UK offices are excellent for collaboration. We may adapt the 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 welcome versatile people at Arm.
Accommodations at Arm
Arm provides accommodations during the recruitment process. If you need adjustments, please email accommodations@arm.com. Sending information to Arm for accommodations is confidential and used only to provide the accommodation. Examples include breaks between interviews, documents read aloud, or office accessibility. Please email us about any accommodation needs.
Hybrid Working at Arm
Arm\'s hybrid working approach supports high performance and personal wellbeing. We encourage in-person collaboration while recognizing the value of flexibility. Details for each role will be shared upon application. If limitations apply due to local regulations, we will work with you to find the best solution.
Equal Opportunities at Arm
Arm is an equal opportunity employer, committed to mutual respect and equal opportunities for all applicants and colleagues. We do not discriminate on race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status.
#J-18808-Ljbffr