Performance Engineer, Language Runtime - PAYE contract / C++ / Rust

European Tech Recruit

Cambridgeshire and Peterborough

On-site

GBP 90,000 - 130,000

Full time

32 hours ago
Be an early applicant
Application generator

An application made for this job — a tailored resume and cover letter that speak straight to the posting.

Get past ATS filters

Job summary

European Tech Recruit is seeking a Performance Engineer to speed up managed language runtimes on ARM64 mobile-class CPUs in Cambridge, UK. You will work across the runtime stack, from interpreter to garbage collector, delivering patches and validating improvements onsite.

You will contribute to profiling-driven optimization, AOT/RT performance and hardware feedback, with collaboration across CPU architects and LLM-assisted workflows.

Qualifications

  • Degree in Computer Science, Computer Engineering, Electrical Engineering or a related field, or equivalent practical experience.
  • Strong C and C++ (or Rust), with the ability to work in a large performance-critical codebase.
  • Fluency with profiling tools such as perf, PMU counters and flame graphs, and the ability to read disassembly and relate it to source.
  • Solid grasp of a modern ISA (ARM64 or x86-64), calling conventions, memory model and the cost of branches and cache misses.
  • Measurement rigour: you design experiments, control for noise and report results with appropriate statistics.
  • Working knowledge of CPU microarchitecture, including out-of-order pipelines, branch prediction, caches, TLBs and prefetching.
  • ARM64 experience, particularly on mobile or embedded SoCs.
  • Contributions to an open-source runtime, compiler or GC.
  • Experience with LLM agents or ML-assisted tooling for code optimisation.
  • Familiarity with simulators such as gem5.
  • Publications or patents in runtimes, compilers or computer architecture.

Responsibilities

  • Finding and ranking performance bottlenecks in interpreter, JIT/AOT, GC and runtime library code using profiling tools and flame graphs.
  • Improving interpreter and compiler tiers, including dispatch, inline caches, hidden classes and deoptimisation policy.
  • Reducing startup time through snapshots, AOT images, lazy compilation and warm-up tuning.
  • Tuning allocation and collection for throughput, pause time and footprint.
  • Explaining runtime behaviour in hardware terms and turning findings into software changes.
  • Building benchmarking and regression-tracking pipelines with noise control and sound statistics.
  • Building and using LLM-agent pipelines to analyse profiles and propose patches.
  • Working with CPU architects on hardware features that help runtimes.
  • Landing upstream patches and contributing to patents/publications where appropriate.

Skills

C/C++
Rust

Education

Bachelor's degree in Computer Science or related field

Tools

perf
PMU counters
flame graphs

Job description

Performance Engineer, Language Runtime - PAYE contract / C++ / Rust

Our client is looking for a Performance Engineer to make managed language runtimes run measurably faster on ARM64 mobile-class CPUs.

You will work across the full runtime stack, from interpreter, JIT and AOT compilers to the garbage collector and runtime libraries, and follow every optimisation down to the generated machine code and the hardware counters that explain it.

The is as inside IR35/PAYE contract, initially for 12 months' and will require 100% onsite presence in Cambridge, UK.

You will sit within an existing CPU team, so what you learn about how runtimes stress the pipeline, caches and branch predictors will feed directly into next-generation core design. You will also work with LLM-agent pipelines that automate parts of the analyse, patch, benchmark and validate loop.

What you will be doing:
  • Finding and ranking performance bottlenecks in interpreter, JIT/AOT, GC and runtime library code using sampling profilers, PMU counters, top-down analysis and flame graphs
  • Improving interpreter and compiler tiers, including dispatch, inline caches, hidden classes, tier-up and deoptimisation policy, instruction selection, register allocation, inlining heuristics and check elimination
  • Reducing startup time through snapshots, AOT images, lazy compilation and warm-up tuning
  • Tuning allocation and collection for throughput, pause time and footprint, including barriers, generational and concurrent collectors, object layout and pointer compression
  • Explaining runtime behaviour in hardware terms, such as indirect-branch misprediction, I-cache and iTLB pressure and load-to-use latency, and turning findings into software changes and hardware feedback
  • Building benchmarking and regression-tracking pipelines with noise control and statistically sound A/B comparison
  • Building and using LLM-agent pipelines to analyse profiles, propose patches and validate correctness
  • Working with CPU architects on which hardware or ISA features would help runtime workloads
  • Landing upstream patches, writing technical reports and contributing to patents and publications where appropriate
Your background:
  • Degree in Computer Science, Computer Engineering, Electrical Engineering or a related field, or equivalent practical experience
  • Strong C and C++ (or Rust), with the ability to work productively in a large, performance-critical codebase
  • Fluency with profiling tools such as perf, PMU counters and flame graphs, and the ability to read disassembly and relate it to source
  • Solid grasp of a modern ISA (ARM64 or x86-64), calling conventions, the memory model and the cost of branches and cache misses
  • Measurement rigour: you design experiments, control for noise and report results with appropriate statistics
  • Working knowledge of CPU microarchitecture, including out-of-order pipelines, branch prediction, caches, TLBs and prefetching
  • ARM64 experience, particularly on mobile or embedded SoCs
  • Contributions to an open-source runtime, compiler or GC
  • Experience with LLM agents or ML-assisted tooling for code optimisation
  • Familiarity with simulators such as gem5
  • Publications or patents in runtimes, compilers or computer architecture

In accordance with local employment laws, applicants must have current, valid authorisation to work in the UKat the time of application. We are unable to sponsor employment visas for this role. Applications from individuals without existing work authorisation for the UK cannot be considered.

By applying to this role you understand that we may collect your personal data and store and process it on our systems. For more information please see our Privacy Notice (https://eu-recruit.com/wp-content/uploads/2024/07/European-Tech-Recruit-Privacy-Notice-2024.pdf)

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Performance Engineer – Language Runtime (Contractor)
Performance Engineer – Language Runtime (Contractor)

Huawei Technologies Research & Development (UK) Ltd • Cambridge

On-site
GBP 70,000 - 110,000
Staff Software Engineer — Runtimes Performance
Staff Software Engineer — Runtimes Performance

Arm • Cambridge

On-site
GBP 97,300 - 131,700
Performance Engineer - ARM64 Runtime Optimizations
Performance Engineer - ARM64 Runtime Optimizations

European Tech Recruit • Cambridgeshire and Peterborough

On-site
GBP 90,000 - 130,000
Performance Engineer: ARM64 Language Runtime
Performance Engineer: ARM64 Language Runtime

Huawei Technologies Research & Development (UK) Ltd • Cambridge

On-site
GBP 70,000 - 110,000
Staff Software Engineer â Runtimes Performance
Staff Software Engineer â Runtimes Performance

Camwebdir • United Kingdom

On-site
GBP 90,000 - 120,000
Performance Systems Engineer - Arm Runtimes & Compilers
Performance Systems Engineer - Arm Runtimes & Compilers

Arm • Manchester

On-site
GBP 97,300 - 131,700
Compiler Engineer - LLVM / C/C++ / CPU
Compiler Engineer - LLVM / C/C++ / CPU

European Tech Recruit • City of Edinburgh

On-site
GBP 85,000 - 125,000
Compiler Engineer - LLVM / C/C++ / CPU
Compiler Engineer - LLVM / C/C++ / CPU

European Tech Recruit • Cambridgeshire and Peterborough

On-site
GBP 70,000 - 110,000
Compiler Engineer - LLVM / C/C++ / CPU
Compiler Engineer - LLVM / C/C++ / CPU

European Tech Recruit • Cambridgeshire and Peterborough

On-site
GBP 65,000 - 95,000
Compiler Engineer - LLVM / C/C++ / CPU
Compiler Engineer - LLVM / C/C++ / CPU

European Tech Recruit • City of Edinburgh

On-site
GBP 70,000 - 110,000