Software Engineer, Spark Platform
for each section heading.
Section headings allowed: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. We can use About The Team? Not in list but maybe we can use About the role and About the team? The list includes About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. It didn't list About The Team, but we could maybe treat About The Team as part of About the role? However instruction: "use for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule)." It says e.g., not exclusive. So we can use other headings if appropriate, but better to stick to those. We could put team description under About the role or maybe under a generic "About the team" but not in list. Safer to incorporate team description into About the role section as a paragraph.
Thus we have sections: About the role (includes team description, location, reporting). Responsibilities (ul). Qualifications (ul). Pay (p). Benefits (p). Possibly Schedule? Not provided. So omit.
We must not create empty sections.
Now extract content.
About the role paragraph: combine:
"The Spark Platform team owns and operates DoorDash's Apache Spark ecosystem — the execution runtime, remote shuffle service, cluster scheduler, and reliability tooling that powers the company's data, analytics, and ML workloads. We run Spark across the company at significant scale and continue to expand the workloads, capabilities, and consumer base we serve. Orchestrating and operating thousands of Spark cluster deployments is a complex distributed system problem which the team invests heavily in runtime optimization, systems architecture, multi-tenant scheduling, and end-user tooling.
As a Software Engineer on Spark Platform, you will execute across the surfaces of our in-house Spark deployment that serves the entire company. The work spans Spark runtime upgrades and performance, multi-tenant scheduling and executor bin-packing on Kubernetes, cluster lifecycle automation, and the observability and incident automation that keep the platform sustainable. You will move between layers as the work demands — picking up the next high-leverage problem regardless of where it sits — and partner closely with the rest of the team and with platform consumers across the company. You must be located in San Francisco, Sunnyvale, Seattle, or New York City for this hybrid position. You will report into the Engineering Manager on our Spark Platform team."
That's a bit long but okay.
Now Responsibilities bullet list from "You're excited about this opportunity because you will…":
- Build and operate an in-house Spark platform that runs at company-wide scale, spanning runtime, scheduler, reliability, and user-facing tooling.
- Drive multi-tenant scheduling, executor bin-packing, and cost-aware placement that let a small team serve dozens of consumer teams.
- Own pieces of cluster lifecycle automation — provisioning, upgrades, capacity changes, and node-failure handling — at a scale where these stop being manual events.
- Build the observability and incident automation that make the platform debuggable end-to-end and keep on-call sustainable as the team and the workload grow.
- Partner with senior engineers on shuffle, runtime, and architecture work, and grow into deeper ownership of those areas over time.
Now Qualifications bullet list from "We're excited about you because…":
- B.S., M.S., or PhD in Computer Science or equivalent.
- 2+ years of industry experience operating production distributed systems.
- Experience operating Apache Spark at scale on Amazon EMR, Databricks, or an in-house deployment — with a focus on platform operations (runtime upgrades, cluster lifecycle, shuffle, observability, multi-tenant scheduling) rather than authoring individual Spark jobs.
- Hands-on experience operating production systems on Kubernetes — controllers, operators, custom resources, and the failure modes that show up in multi-tenant clusters.
- Familiarity with batch or big-data schedulers (YuniKorn, Volcano, Kueue, or equivalent) and/or with the Spark-on-Kubernetes operator.
- Familiarity with observability stacks (Prometheus, OpenTelemetry, distributed tracing, structured logging) and with defining SLOs and SLIs that change team behavior.
- Comfort working in a cloud environment (AWS preferred) — VPC networking, instance lifecycle, spot/preemptible markets, and autoscaling primitives.
- Professional experience with Python, Go, Scala, or Java; SQL fluency.
- A bias toward incremental rollout, measurement, and reducing toil.
- You are located or willing to relocate to the Bay Area, Seattle, or NYC.
Note: location appears again; we already have location in About the role; but it's okay to duplicate? Might be considered duplicated lines. We should avoid duplication. Since we already have location in About the role, we could omit the location bullet from qualifications to avoid duplication. However the instruction says remove duplicated lines. So we should not repeat location. We'll keep location only in About the role.
Thus qualifications list excludes the location bullet.
Now Pay section: include base salary ranges and equity grants.
Paragraph: "The successful candidate's starting pay will fall within the pay range listed below and is determined based on job-related factors including, but not limited to, skills, experience, qualifications, work location, and market conditions. Base salary is localized according to an employee’s work location. Ranges are market-dependent and may be modified in the future. In addition to base salary, the compensation for this role includes opportunities for equity grants."
Then list ranges:
- I4: $130,600—$192,000 USD
- I5: $159,800—$235,000 USD
- I6: $193,800—$285,000 USD
We can present as - ... but Pay section maybe just
with ranges. Could also use
. The instruction: Use - for any list of duties/requirements/benefits. Pay is not a list of duties/requirements/benefits, but it's a list of ranges. Could still use
. Safer to use with ranges separated by commas or line breaks using
. But we can also use
. The instruction says use - for any list of duties/requirements/benefits. Pay is not those categories, but it's okay to use
. We'll use
and include the ranges.
Now Benefits section: include benefits description and PTO details.
Paragraph: "DoorDash cares about you and your overall well‑being. That’s why we offer a comprehensive benefits package to all regular employees, which includes a 401(k) plan with employer matching, 16 weeks of paid parental leave, wellness benefits, commuter benefits match, paid time off and paid sick leave in compliance with applicable laws (e.g. Colorado Healthy Families and Workplaces Act). DoorDash also offers medical, dental, and vision benefits, 11 paid holidays, disability and basic life insurance, family‑forming assistance, and a mental health program, among others."
Then PTO details: "For salaried roles: flexible paid time off/vacation, plus 80 hours of paid sick time per year. For hourly roles: vacation accrued at about 1 hour for every 25.97 hours worked (e.g. about 6.7 hours/month if working 40 hours/week; about 3.4 hours/month if working 20 hours/week), and paid sick time accrued at 1 hour for every 30 hours worked (e.g. about 5.8 hours/month if working 40 hours/week; about 2.9 hours/month if working 20 hours/week)."
We can combine into one
or separate
. Use
for prose.
Now ensure we didn't include any boilerplate like "About DoorDash", "Our Commitment to Diversity and Inclusion", "Statement of Non-Discrimination", "Pursuant to the San Francisco Fair Chance Ordinance", etc. Also removed Covey notices and scam warning.
Now produce HTML fragment.
We'll start with
About the role
then ...
Then
- ... but Pay section maybe just
with ranges. Could also use
- . The instruction: Use
- for any list of duties/requirements/benefits. Pay is not a list of duties/requirements/benefits, but it's a list of ranges. Could still use
- . Safer to use
- for any list of duties/requirements/benefits. Pay is not those categories, but it's okay to use
. We'll use
and include the ranges. Now Benefits section: include benefits description and PTO details. Paragraph: "DoorDash cares about you and your overall well‑being. That’s why we offer a comprehensive benefits package to all regular employees, which includes a 401(k) plan with employer matching, 16 weeks of paid parental leave, wellness benefits, commuter benefits match, paid time off and paid sick leave in compliance with applicable laws (e.g. Colorado Healthy Families and Workplaces Act). DoorDash also offers medical, dental, and vision benefits, 11 paid holidays, disability and basic life insurance, family‑forming assistance, and a mental health program, among others." Then PTO details: "For salaried roles: flexible paid time off/vacation, plus 80 hours of paid sick time per year. For hourly roles: vacation accrued at about 1 hour for every 25.97 hours worked (e.g. about 6.7 hours/month if working 40 hours/week; about 3.4 hours/month if working 20 hours/week), and paid sick time accrued at 1 hour for every 30 hours worked (e.g. about 5.8 hours/month if working 40 hours/week; about 2.9 hours/month if working 20 hours/week)." We can combine into one
or separate
. Use
for prose. Now ensure we didn't include any boilerplate like "About DoorDash", "Our Commitment to Diversity and Inclusion", "Statement of Non-Discrimination", "Pursuant to the San Francisco Fair Chance Ordinance", etc. Also removed Covey notices and scam warning. Now produce HTML fragment. We'll start with
About the role
then...
Then
with ranges separated by commas or line breaks using
. But we can also use- . The instruction says use
- for any list of duties/requirements/benefits. Pay is not those categories, but it's okay to use
- for any list of duties/requirements/benefits. Pay is not a list of duties/requirements/benefits, but it's a list of ranges. Could still use