Senior Software Engineer
You own performance analysis across the machine learning stack, identify bottlenecks and regressions through profiling and benchmarking, drive optimization across frameworks, compilers, runtimes and infrastructure, maintain benchmarking environments, produce actionable performance reports, and validate improvements with engineering teams.
Responsibilities
- Own performance analysis across the full ML stack
- Identify bottlenecks and regression trends
- Drive cross-team optimizations
- Design and maintain benchmarking environments
- Produce performance reports
- Ensure local optimizations improve global system performance
- Partner with engineering teams to guide and validate improvements
Requirements
- Strong programming skills in Python, C and C++
- Performance-sensitive application development
- Understanding of computer architecture and low-level system behaviour
- Performance profiling
- Experience benchmarking and analysing complex distributed systems
- Familiarity with Linux development environments and tools
- Problem-solving skills
- Ability to interpret and communicate performance data
- Knowledge of ML frameworks such as PyTorch
- Experience with GPU-accelerated environments
- Knowledge of high-speed networking such as RoCE and RDMA
- Familiarity with distributed computing frameworks
- Experience building performance monitoring dashboards or visualizations
- Exposure to performance regression tracking and CI pipelines
Benefits
- Annual leave
- Medical health plan
- Dental health plan
- Gym card
- Employee pension matched up to 4%