Compiler Backend Engineer
At a glance
Mid-level Backend Engineering role at Normal Computing Corporation. Mountain View · full-time · $200,000–$300,000 base.
techroles summary, based on the employer's posting.
What you'll do
- Build compiler passes that turn lowered programs into executable code, creating new methods when standard approaches do not fit
- Plan when work runs and where data sits across hardware resources, improving utilization and LLM inference latency
- Choose which inference operations to fuse and dispatch so the hardware spends less time moving data
- Shape the boundary between compiler and hardware, sharing compiler constraints with hardware architects while designs can change
- Test optimizations on simulators and FPGA prototypes, then silicon, and maintain a performance regression suite
What you bring
- Deep experience optimizing compilers or generating code for accelerators or other non-CPU targets
- Hands-on knowledge of scheduling, tiling, fusion or resource allocation, plus how memory bandwidth and utilization affect performance
- A record of shipping optimizations with measured performance gains, and comfort developing for evolving hardware from simulation onward
- Fluency in Python and familiarity with C, C++ or Rust
Who this fits
This mid-level, full-time role is based onsite in Mountain View. It suits a compiler engineer who wants to work close to hardware and develop backend software for a changing design, from simulation through silicon bring-up.
From the employer
Normal Computing | Build with Us
Normal is an applied AI company solving the hardest problems in AI and silicon. We build foundational hardware and software for the semiconductor industry, critical AI infrastructure, and the broader systems that power our world, in partnership with the world's most advanced institutions. We work as one team across New York City, Silicon Valley (Mountain View), and London.
The Role
Normal's hardware runs the most memory-bound parts of large-model inference inside memory itself, rather than shuttling weights to a processor. The software that makes this programmable doesn't exist yet in any standard form. Getting a model correct on that hardware is the frontend's job; making it fast is yours. Our hardware does not look like a CPU or GPU, so its compiler backend can't be borrowed from one. As a Compiler Engineer focused on the backend, you will help design and build the custom compilation that maps LLM inference onto it, from scheduling and memory planning to the code our hardware actually executes.
You will work at the boundary between the compiler and the hardware, closely enough to know when an optimization belongs at a different layer, or when the right answer is a new abstraction. Our chip is pre-silicon, so you will measure your work against our simulators and FPGA prototypes first, and against silicon as it arrives.
What You Will Own
Code Generation: Build the passes that turn lowered programs into the code our hardware executes, designing new compilation approaches where conventional ones don't fit. Success means correct, efficient code for every operation our models need.
Scheduling and Memory Planning: Own how work and data are scheduled and placed across our hardware's resources, measured by utilization and end-to-end latency on LLM inference.
Fusion and Dispatch: Own fusion and dispatch decisions for LLM inference, so the hardware spends its time computing rather than moving data.
Hardware Co-Design: Work the abstraction layer between the compiler and the hardware, and feed compiler constraints back to our hardware architects while the design can still change.
Profiling and Validation: Validate every optimization with measured results from simulators, FPGA prototypes, and then silicon, and maintain a performance regression suite the team trusts.
Cross-Team Handoffs: Take lowered programs from our frontend compiler engineers, and decide with the team which operations the compiler generates and which use hand-tuned kernels.
What Makes You a Great Fit
Deep experience with compiler optimization or code generation for accelerators or other non-CPU targets: scheduling, tiling, fusion, or resource allocation
Comfort working close to hardware: you think in terms of memory bandwidth and utilization as well as asymptotic complexity
Willingness to design compilation approaches from first principles when existing ones don't fit the hardware
Track record of shipping optimizations that moved a measured performance number
Comfort building software for hardware that is still evolving, from simulation through bring-up
Fluency in Python, and familiarity with C, C++, or Rust
Bonus Points
Experience with PyTorch's compilation stack (TorchDynamo, FX, Inductor, torch.export) or other ML compilers, such as IREE, TVM, or XLA
Experience compiling for in-memory, spatial, or other non-von-Neumann compute targets
Background in hardware design tools such as logic synthesis or place-and-route
Experience building or using cycle-level or performance simulators to guide optimization decisions
Contributions to open-source compiler or kernel infrastructure (e.g., PyTorch, Triton, TVM, MLIR, LLVM)
Publishing or presenting compiler or performance work at venues such as MLSys, ASPLOS, or CGO
Equal Employment Opportunity Statement
Normal Computing is an Equal Opportunity Employer. We celebrate diversity and are committed to creating an inclusive environment for all employees. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, veteran status, or any other legally protected status.
Accessibility Accommodations
Normal Computing is committed to providing reasonable accommodations to individuals with disabilities. If you need assistance or an accommodation due to a disability, please let us know at accommodations@normalcomputing.com.
Privacy Notice
By submitting your application, you agree that Normal Computing may collect, use, and store your personal information for employment-related purposes in accordance with our Applicant Privacy Notice.