👨🏻 Brother Talk — Phase 06, Off the Record
The NPU itself — the metal this whole role exists to serve. The JD: "best suited for Qualcomm's SOCs," "hardware accelerators," "hardware software co-design." This is home turf.
Brother, every phase before this was preparing you to understand this: the actual silicon. A Qualcomm NPU (the Hexagon Tensor Processor / HTP in the AI Engine) is not a tiny GPU. It's a different kind of machine with a different personality, and if you bring GPU instincts here you'll make slow, wrong decisions. The Senior Staff engineer is the one who has internalized what the NPU loves and what it hates, and shapes models accordingly. Let me give you that personality profile, because it's the heart of the job.
What the NPU loves: static shapes, dense regular dataflow, fixed-point (INT8/INT4) math, ops it has dedicated hardware for, and computation that stays on-chip. What it hates: dynamic shapes, data-dependent control flow, irregular memory access (gather/scatter — hello MoE routing), unsupported ops, and anything that forces a round-trip to the CPU or to DRAM. Hold this contrast and half your design decisions make themselves. That gorgeous MoE from P02? The routing is a gather the NPU hates. That Mamba scan? Sequential, awkward. The "best" model on a GPU leaderboard might be the worst thing you could put on this hardware — and knowing that, and having the NPU-friendly alternative ready, is your entire value.
The single most important number in your life now is NPU coverage (or "offload rate"): what fraction of your model's compute actually runs on the NPU vs falls back to CPU. The labs compute this, and you should treat it like a vital sign. Low coverage is a silent killer — the model "works," the demo runs, but it's secretly bouncing half its ops to the CPU, and your latency and power are wrecked. One unsupported op in a hot loop can tank the whole thing because of the fallback round-trips. The Senior Staff move: profile coverage first, find the fallback ops, and eliminate them (rewrite, decompose, or get a kernel written). "Why is my model slow on the NPU?" is almost always "your coverage is 60% and you didn't know it."
The thing nobody tells you about hardware deployment: the simulator and the silicon disagree, and both lie a little. You'll develop against AI Hub / a simulator because you can't always have the device, and the simulator is directionally right but not bit-exact on timing or sometimes on numerics. The discipline is: validate accuracy on the simulator, but trust the device for performance numbers, and always reconcile when they diverge. The on-device profiling lab is where this gets real — the gap between "the sim said 5ms" and "the phone says 12ms" is where the actual engineering happens (thermal throttling, memory bandwidth, the DSP being busy with something else).
Hardware-aware quantization (the lab) is where P03 meets P06 and gets real. Textbook quantization optimizes math error; hardware quantization optimizes what the NPU can actually execute fast. The NPU wants specific bit-widths, specific symmetric/asymmetric conventions, specific per-tensor-vs-per-channel layouts, and it has a fixed-point accumulator with finite width that can overflow if your scales are off. The quantization scheme that's mathematically optimal might be one the hardware runs slowly or not at all. So you co-design: pick the quantization the silicon loves, then recover the accuracy with the techniques from P03. That loop — hardware constraint → quantization choice → accuracy recovery — is "model accuracy and AI performance" as a job title.
On power, because it's the constraint that makes mobile different: on a phone, joules are the budget, not just milliseconds. A model that's fast but power-hungry drains the battery and thermally throttles — and a throttled NPU is a slow NPU, so power and latency are coupled in a nasty feedback loop. The best engineers think in energy per inference, not just latency. This is foreign to data-center ML people and it's a place you can shine.
Now the honest bit about the labs: some of these need the Qualcomm SDK / AI Hub (the deployment lab may skip without it). That's expected — you can't ship the proprietary toolchain. But read every line, internalize the workflow (export → compile for the target → quantize for the hardware → profile coverage → profile latency → iterate), and understand the concepts (coverage, fallback, fixed-point accumulation, on-chip memory) so that when you're handed real hardware, you already know the moves. The concepts transfer; the SDK is just the steering wheel.
Career truth, brother: this is the rarest and most defensible skill in the whole track, because you cannot learn it from papers — it requires the hardware mindset that most ML engineers never develop. The person who deeply understands a specific accelerator's personality, who thinks in coverage and joules, who co-designs models with the silicon instead of throwing models at it — that person is irreplaceable at a hardware company. This is the phase that makes you a Qualcomm engineer specifically, not just an ML engineer generally. Own it.
Internalize the NPU's loves and hates. Make coverage a vital sign. Then come to P07, where we get ruthless about measurement — profiling and performance engineering, where you stop guessing and start knowing where the time goes.
— your brother 👨🏻