NET Performance Engineer
Initialize Ltd
Charing Cross, United Kingdom
5 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
IntermediateJob location
Remote
Charing Cross, United Kingdom
Tech stack
Query Performance
.NET
Adobe InDesign
Artificial Intelligence
Batch Processing
C Sharp (Programming Language)
Code Review
Databases
Language Integrated Query
Memory Management
Load Testing
Microsoft Visual Studio
Memory Leaks
SQL Databases
Diagnostic Tools
DotTrace
GPT
Data Pipelines
Job description
- Profile, diagnose, and resolve performance bottlenecks across .NET services - from GC pressure and memory leaks to thread contention and I/O saturation
- Own memory management strategy across long-running services - heap allocation patterns, LOH fragmentation, finaliser queues, and GC tuning (gen0/1/2, server vs. Workstation, DATAS)
- Investigate and optimise high-throughput data pipelines - batch processing, streaming patterns, buffer management, and backpressure handling
- Identify and resolve large dataset query performance issues - index utilisation, query plan analysis, pagination strategies, and aggregation efficiency across both relational and document databases
- Establish and maintain performance benchmarking infrastructure using BenchmarkDotNet and load testing tooling - define baselines, track regressions, and gate releases on performance criteria
- Conduct performance-focused code reviews - identify allocations, boxing, closure captures, LINQ misuse, and other common .NET performance anti-patterns
- Collaborate with product engineers to surface performance constraints early in design, without blocking feature delivery
- Produce clear diagnostics and findings documentation that non-specialists can act on
Requirements
- AI development experience - usage of AI tools (Claude, CoPilot, ChatGPT) - highly desirable
- 4-5+ years of .NET/C# development with a demonstrable specialism in performance engineering
- Deep, hands-on experience with .NET profiling tools - dotMemory, dotTrace, PerfView, Visual Studio Diagnostic Tools, or equivalent
- Strong understanding of .NET memory management internals - GC generations, LOH, pinned objects, finalisation, and how allocation patterns affect runtime behaviour
- Experience optimising high-throughput data processing pipelines - including async/await patterns, Channel, pipelines, and avoiding synchronisation bottlenecks
- Proven ability to diagnose large dataset query performance issues across both relational (SQL) and document databases, including index analysis and query plan interpretation
- Familiarity with ETW, EventPipe, and diagnostics tooling (dotnet-trace, dotnet-counters, dotnet-dump)