Evolve our kernel language to something that is usable both by developers inside and outside the compiler team and company
Design and implement backend compiler optimizations to efficiently map workloads onto heterogeneous architectures (CPU, NPU, and specialized accelerators)
Implement advanced optimization strategies across the compiler stack based on your experience, e.g.: Memory planning, tiling, vectorization, task partitioning, concurrency optimizations (compute and memory), etc.
Contribute to compiler infrastructure, intermediate representations, and optimization passes
Analyze performance bottlenecks and implement improvements based on profiling and benchmarking
Contribute to technical direction, mentor junior engineers, and promote engineering best practices
Work effectively within a collaborative, distributed engineering team
Requirements
Master’s or PhD in Computer Science, Computer Engineering, or a related technical field
5+ years of experience in compiler development, systems programming, or performance-critical backend software engineering
Strong understanding of compiler backend concepts, including scheduling, memory optimization, and code generation
Demonstrated experience optimizing computations at a low level (e.g., tiling, memory planning, concurrent scheduling, task synchronization)
Basic to solid understanding of computer architecture concepts such as memory hierarchies, DMA controllers, Network-on-Chip (NoC), and modern CPU architectures (e.g., RISC-V, ARM, x86)
Familiarity with heterogeneous computing architectures (e.g., CPU + accelerator such as GPU, NPU, DSP, or similar)
Strong programming skills in Python and good proficiency in C++
Experience working collaboratively in a team environment