> Markdown version of [/jobs/ext/1311056-staff-performance-tuning-engineer-cpu-pmu-virtualization](https://www.wearedevelopers.com/jobs/ext/1311056-staff-performance-tuning-engineer-cpu-pmu-virtualization). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Staff Performance Tuning Engineer (CPU PMU & Virtualization) - **Company:** NIO - **Location:** San Jose, CA, United States - **Experience:** Expert - **Salary:** $192,100.0 - $249,600.0 - **Contract:** Permanent contract - **Skills:** ARM Architecture, C++ (Programming Language), Microarchitecture, Linux, Python (Programming Language), Kernel-Based Virtual Machine, Performance Tuning, Quick EMUlator (QEMU), Real-Time Operating Systems, Shell Script, System Software, Virtual Memory, Virtualization Technology, Xen Servers, Backend, Information Technology, Performance Monitor, Front End Software Development - **Published:** July 17, 2026 - **Apply:** https://www.dice.com/job-detail/0ce49500-aea2-42e0-9b7d-b66e305c75ec ## About the Role * Bachelor's, Master's, or Ph.D. in Computer Science, Electrical Engineering, or a related field. * 8+ years of experience in system performance engineering or related roles. * Strong understanding of computer architecture, including: + CPU pipelines, execution engines, and memory hierarchy + Interrupt architectures (e.g., GICv3/GICv4, APIC concepts) + MMU, virtual memory, and page table structures * Deep expertise with Linux performance tooling: + perf + eBPF / BCC / bpftrace + ftrace / trace-cmd * Proficiency in C/C++, Python, and shell scripting for performance tooling and automation. Preferred Qualifications * Hands-on experience with ARM PMUv3 on Cortex-A55/A76/A78 or Neoverse platforms. * Experience with one or more virtualization stacks: + KVM/QEMU + Xen + seL4 or other RTOS/hypervisor environments ## Description Performance Analysis and Optimization * Identify and analyze performance bottlenecks across CPU, memory hierarchy, cache, interconnect, and interrupt subsystems. * Leverage hardware PMU counters to measure and interpret cycles, instructions, cache misses, branch mispredictions, TLB misses, and stall cycles. * Compute and analyze performance metrics such as IPC, CPI, MPKI, memory bandwidth utilization, and stall breakdowns. * Optimize system software, applications, and drivers for throughput, latency, and performance determinism. Virtualization Performance Tuning * Profile and reduce hypervisor overhead, including VM exits, interrupt injection, and stage-2 MMU translation costs. * Optimize vCPU placement strategies, huge page usage, and IRQ affinity for performance-sensitive workloads. * Analyze and tune virtio and IOMMU performance paths. * Investigate cross-core and cross-cluster latency issues, including IPI overhead and interrupt routing on ARM-based systems. CPU PMU and Microarchitectural Analysis * Configure and interpret ARM PMUv3 and related vendor-specific performance monitoring extensions. * Apply Top-Down Microarchitecture Analysis (TMA) to identify frontend/backend bottlenecks. * Correlate PMU-derived metrics with kernel traces, source code paths, and system behavior. * Design and implement custom event sets tailored to workload-specific performance characterization. ## Related Videos - [Developing the Backend with Stefan Lingler, CTO at Shpock](https://www.wearedevelopers.com/videos/100360-developing-the-backend-with-stefan-lingler-cto-at-shpock) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [Unleashing the Full Potential of the Arm Architecture – Write Once, Deploy Anywhere](https://www.wearedevelopers.com/videos/940-unleashing-the-full-potential-of-the-arm-architecture-write-once-deploy-anywhere) - [Docker exec without Docker](https://www.wearedevelopers.com/videos/1094-docker-exec-without-docker) - [Scoring 2000 Products per Request: Performance Pitfalls in Golang](https://www.wearedevelopers.com/videos/2073-scoring-2000-products-per-request-performance-pitfalls-in-golang) - [Nest.js - TypeScript in the backend can also be clean](https://www.wearedevelopers.com/videos/1033-nest-js-typescript-in-the-backend-can-also-be-clean) ## Related Articles - [Dev Digest 120 - Apple and peers](https://www.wearedevelopers.com/magazine/455-dev-digest-120-apple-and-peers) - [Highest Paying Tech Companies for Developers](https://www.wearedevelopers.com/magazine/220-highest-paying-tech-companies-for-developers) - [Dev Digest 121 - AI goes offline](https://www.wearedevelopers.com/magazine/456-dev-digest-121-ai-goes-offline) - [7 Cloud Computing Trends Coming in 2025 for Developers](https://www.wearedevelopers.com/magazine/412-7-cloud-computing-trends-coming-in-2025-for-developers) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated) - [6 Emerging Technologies We’ll Learn About in 2025](https://www.wearedevelopers.com/magazine/381-6-emerging-technologies-we-ll-learn-about-in-2025)