Job Description
We are looking for a Principal Software Engineer to help promoting Arm’s success on data center and cloud. The candidate will work on ARM64 architecture enablement and performance optimization for key components within KVM or Hyper-V based cloud systems. By enhancing at this layer, we’d bring the best and most recent Arm technologies to the major cloud providers.
You will work with Arm’s internal expert to understand Arm’s architecture features, you will work with our partner to understand their software stack and then you will help identifying and delivering optimizations for ARM64 as well as prototyping support for most recently ARM64 architecture features (security, virtualization etc.). There is also opportunity that you can influence ARM64 architecture evolution if you work proactively with great passion and quality.
Team Overview
You will join an engineering team sits inside Arm’s infrastructure line of business which focuses on promoting Arm’s business on data-center and cloud industry. You will be able to engage with Arm’s partner in this industry directly, the team aims to understand partner’s technology stack deeply and accurately and help making it runs better on Arm’s technology. This team is especially focused on partner which has proprietary technology stack that can’t be open sourced.
Job Responsibilities
- Develop micro-benchmarks to measure and understand performance gaps on ARM64 platform between baremetal and virtualized systems, work with Arm’s partner to deliver the corresponding optimizations.
- Prototyping Arm’s architecture features (virtualization, security related) and drive the adoption into production
- Develop micro-benchmarks to measure and understand operating system’s performance on multi-core scaling for all types of compute-bound, memory-bound and i/o-bound data center workloads, work with Arm’s partner to deliver corresponding optimizations.
- Actively work with partner to analyse high priority performance issues, especially helping on root causing and delivering solution when the issue is in virtualization and kernel layers.
- Serving as technical liaison between Arm and partner on the mentioned technical areas, promote technical collaboration proactively.
Required Skills and Experience
- Proficient C programmer with essential C++ knowledge which allows fast adapt to C++ programming from C if needed
- Medium level assembly programming skills, be comfortable to read and program assembly
- Strong understanding of operating system fundamentals, including privileged mode, task switching/scheduling, virtual memory, interrupt/exception.
- Be familiar with at least on instruction set architecture (ISA), including ARM64, AMD64, PowerPC, MIPS etc.
- Desire and ability to work as part of a team and on close-source proprietary code and accept cool off period.
- Proven experience of developing system software.
“Nice To Have” Skills and Experience
- Armv8-A Architecture and Arm64 assembly language
- Proficient in virtualisation and privilege mode programming of any modern ISA
- Proven contribution to any hypervisor or kernel
In Return:
We are proud to have a set of behaviors that reflect our culture and guide our decisions, defining how we work together to resist ordinary and craft outstanding!
- Partner and customer focus
- Teamwork and communication
- Creativity and innovation
- Team and personal development
- Impact and influence
- Deliver on your promises
Salary Range:
$241,100-$326,100 per yearWe value people as individuals and our dedication is to reward people competitively and equitably for the work they do and the skills and experience they bring to Arm. Salary is only one component of Arm's offering. The total reward package will be shared with candidates during the recruitment and selection process.
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. 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.