Senior Software Engineer - Backend Performance -MarTech/AdTech
Three Pillars Recruiting · San Francisco, CA · 1 mo ago
On-siteEngineeringFull-time
About the role
As a Senior Software Engineer on Backend Performance, you own the hottest paths in data products — the code that has to be fast because everything downstream depends on it. You profile before you guess, drop into C/C++, Cython, or Rust when Python runs out of room, and reach for the GPU when it earns its keep. This is engineers-first, systems-heavy work: high-throughput pipeline execution and Reactor self-correction over large volumes of structured and unstructured data, made fast.
Responsibilities
- Profile, benchmark, and eliminate bottlenecks across the pipeline's performance-critical paths.
- Write performance-critical code in C/C++, Cython, and/or Rust for the hot paths where interpreted Python won't hold.
- Apply GPU acceleration (CUDA) to pipeline execution and Reactor self-correction where it delivers real speedups — and know when it doesn't.
- Engineer for parallelism and concurrency: threading, vectorization, memory layout, and data-movement costs.
- Build performance-regression detection into CI so hard-won gains don't quietly erode.
- Partner with the Data Products and infrastructure teams to move the right work to the right primitive.
Requirements
- Strong systems engineering background with deep proficiency in at least one of C, C++, or Rust.
- Cython and CUDA are a strong plus.
- Fluent in Python for data processing, with a real feel for where the interpreter costs you and how to escape it.
- Performance engineering: profiling, memory management, concurrency, cache behavior, and reasoning quantitatively about throughput and latency.
- Parallel, high-throughput processing — SIMD / vectorization, multiprocessing, or GPU parallelism.
- Experience moving and transforming large volumes of structured and unstructured data with low latency.
- PostgreSQL and strong data-structures and algorithms fundamentals.
- Nice to have: CUDA / kernel-level optimization or hardware-aware performance work; NVIDIA ecosystem depth.
- Nice to have: Lakehouse internals, columnar formats (Arrow / Parquet), or numeric/array computing.
- You reach for a profiler before another machine, and you can explain exactly where your time is going.
- You write the systems code yourself; AI assistants speed you up but don't do the engineering for you.