Posted in

ARM Optimization Software Engineer

ARM Optimization Software Engineer

CompanyMeta
LocationBellevue, WA, USA
Salary$70.67 – $208000
TypeFull-Time
DegreesBachelor’s
Experience LevelSenior

Requirements

  • Bachelor’s degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
  • 5+ years experience in developing C/C++ codebase
  • 5+ years of experience with hardware architecture, compute technologies and/or storage systems
  • Proficient in C/C++ programming languages, with experience in applying optimization techniques to enhance software performance
  • Familiarity with Linux internals, including kernel development and system programming
  • Experience with software optimization techniques and parallel processing
  • Basic understanding of ARM CPU architecture and instruction set
  • Experience with performance benchmarking tools and techniques

Responsibilities

  • Play a critical role in optimizing software for ARM architecture to enhance performance and efficiency
  • Apply software optimization techniques, such as Single Instruction, Multiple Data (SIMD) vectorization and parallel processing, to improve the performance of workloads on ARM-based systems
  • Work with Linux internals, including kernel development and system programming, to optimize system performance and resource utilization
  • Use performance benchmarking tools and techniques to evaluate and improve the efficiency of software applications, leveraging understanding of ARM CPU architecture and instruction sets to optimize software for ARM-based systems
  • Utilize C/C++ programming skills to develop optimized software solutions and apply knowledge of ARM 64-bit Architecture (AArch64) Assembly language to optimize code for ARM-based systems
  • Collaborate effectively with cross-functional teams, including engineers and researchers, to drive innovation and contribute to Meta’s infrastructure evolution
  • Work alongside top talent across Meta, contributing to critical projects that deliver organization-wide impact

Preferred Qualifications

  • Experience with Single Instruction, Multiple Data (SIMD) vectorization techniques, including NEON and Scalable Vector Extension (SVE)
  • Familiarity with ARM 64-bit architecture (Aarch64) assembly language and low-level programming
  • Understanding of CPU instruction pipelining and out-of-order execution
  • Experience with Software profiling tools and benchmarking techniques to identify performance bottlenecks
  • Familiarity with cloud computing platforms
  • Familiarity with assembly language