Member of Technical Staff (Software Engineer, Fraud Prevention)
Job Description
About the role
Perplexity's fraud prevention team protects our products, users, and infrastructure from fraud and abuse across the whole lifecycle: sign-up, authentication, payments, API usage, and product features. We build and operate a real-time decisioning platform together with the surrounding systems: data pipelines for detection and model training, integrations with product and payment systems, and internal tooling for investigation and response. As a software engineer on the team, you will own services end to end, from design to production operations, and work closely with fraud analysts, ML engineers, and product teams to make abuse expensive and legitimate usage frictionless.
Responsibilities
Design, build, and operate high-throughput, low-latency backend services for fraud detection and prevention
Build data pipelines and real-time feature computation that power detections and ML models
Collect and process trust signals
Integrate fraud decisions into product, auth, and payment flows across Perplexity
Own reliability of production services: observability, alerting, safe rollouts, incident response
Build internal tooling for investigation, enforcement, and auditability
Partner with fraud analysts to turn new abuse patterns into production detections quickly
Qualifications
5+ years building and operating high-throughput, latency-sensitive backend systems in production
Strong systems programming skills; Rust, Go, or C++ experience preferred (we write Rust)
Hands-on experience with Kubernetes, Terraform and cloud infrastructure
Solid data fundamentals: stream/batch computations, caching and storage trade-offs
Pragmatic, ownership-driven approach: ship incrementally, measure, and make failures degrade safely
Nice to have
Fraud prevention, anti-abuse, or payments-risk domain experience
Experience serving ML models in production
Client-side experience (web or mobile) for signal collection