Skip to main content

Senior Software Engineer - Backend Performance -MarTech/AdTech

Posted 43 days ago

three pillars recruitingMillbrae (CA)

SENIORITY

Lead

Apply (opens in a new tab)

About the role

PLEASE CLICK HERE TO SEE *ALL* OF OUR JOB OPENINGS!Senior Software Engineer — Backend Performance 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.
What You'll Do:
  • 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.
  • What Will Help You Succeed: Core engineering
  • 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.
  • Systems & data
  • 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. Lakehouse internals, columnar formats (Arrow / Parquet), or numeric/array computing. The role is right for you if: 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; they don't do the engineering for you. Job-3645252*LI-AL1#LI-Onsite

Before you apply

Applying takes about a minute. These four things decide how fast it moves after that.

Your profile is current

It's what we read first. Occupations, seniority and locations matter more than a long history.

Two examples you can talk through

Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.

A number in mind

What you're on now and what would make you move. We negotiate better when we know both.

Your notice period

Employers plan around it, and it's the question that stalls offers most often.

Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.

More like this