Member of Technical Staff (Software Engineer, Data Platform)
At a glance
Senior Software Engineering role at Perplexity. San Francisco · full-time · $220,000–$405,000 base.
techroles summary, based on the employer's posting.
What you'll do
- Build and run batch and streaming pipelines that feed product features, AI training and evaluation, analytics, and experiments
- Create real-time ingestion and delivery systems, plus batch jobs for backfills, aggregations, and offline work
- Set up orchestration for critical data flows, covering schedules, dependencies, retries, service targets, and visibility
- Protect data accuracy, freshness, lineage, and recovery as systems scale, fail partially, or encounter changing schemas
- Shape shared data platforms and architecture, improve developer workflows, and mentor engineers through reviews and collaboration
What you bring
- At least five years of software engineering for the senior level, or eight years for staff
- You have built production data infrastructure and handled batch or streaming workloads at scale
- You know Airflow, Dagster, or a comparable orchestration system, and can code in Python plus another backend language
- You have supported ML or AI pipelines and understand reliability, latency, cost, and complexity tradeoffs
Who this fits
This senior or staff role suits an engineer who has owned production data systems and shared platforms, and can set technical direction while mentoring colleagues. The position is based in San Francisco.
From the employer
About the Role
The Data Platform team owns the end-to-end data lifecycle at Perplexity, from ingestion through processing, storage, and serving, powering product features, analytics, experimentation, AI workloads, and the company’s data lake.
The team defines the architecture for batch and streaming systems, the orchestration and observability stack, and a self-serve data platform, while thoughtfully combining platforms such as Databricks and Snowflake with open-source technologies including Spark, Kafka, Flink, Airflow, Dagster, dbt, Iceberg, Delta Lake, and ClickHouse.
In this senior/staff role, you will shape architecture, set standards, and drive the long-term technical direction of Perplexity’s data ecosystem.
Key Responsibilities
Design and operate large-scale batch and streaming data pipelines that directly power Perplexity product features, AI training and evaluation workflows, analytics, and experimentation.
Build event-driven and streaming systems (Kafka, Kinesis, PubSub, or similar) for real-time ingestion, transformation, and delivery, alongside batch frameworks for backfills, aggregations, and offline computation.
Lead the architecture of data orchestration using tools like Airflow or Dagster, owning scheduling, dependency management, retries, SLAs, and end-to-end observability for critical data flows.
Set and enforce guarantees for data correctness, freshness, lineage, and recoverability, designing systems that handle rapid scale growth, partial failures, and evolving schemas without disrupting AI workloads or product experiences.
Build self-serve data platforms that let engineers, data scientists, and analysts safely discover data, define contracts, and create and operate their own pipelines with minimal friction.
Improve developer experience through better abstractions, opinionated paved paths, and standards for data modeling, testing, validation, and deployment, treating the data platform as a product used by many teams.
Drive architectural decisions across storage, compute, orchestration, and data APIs, partnering closely with product engineering and data science to align the data ecosystem with Perplexity’s roadmap.
Mentor engineers, review designs, and raise the technical bar for data infrastructure through thoughtful feedback, documentation, and hands-on collaboration.
Qualifications
5+ years (Senior) or 8+ years (Staff) of software engineering experience.
Strong experience building production data infrastructure systems.
Hands-on experience with batch and/or streaming data processing at scale.
Deep familiarity with data orchestration systems (Airflow, Dagster, or similar).
Proficiency in Python and at least one additional backend language (Go, TypeScript, etc.).
Strong systems thinking around reliability, latency, cost, and complexity tradeoffs.
Experience supporting ML/AI workflows, training pipelines, or evaluation systems.
Familiarity with data quality, lineage, observability, and governance tooling.
Prior ownership of internal platforms used by many teams.
If you’re excited about this role, we encourage you to apply even if your experience doesn’t match every qualification listed above.