Software Engineer – Build Platform
Company | DoorDash |
---|---|
Location | Seattle, WA, USA, San Francisco, CA, USA, Sunnyvale, CA, USA |
Salary | $159800 – $235000 |
Type | Full-Time |
Degrees | |
Experience Level | Mid Level, Senior |
Requirements
- 3+ years of experience in software engineering, with a focus on build systems, CI/CD, or developer productivity.
- Strong experience with Bazel (or other build systems like Buck, Pants, or Gradle).
- Proficiency in Python, Go, or Shell scripting for automation and tool development.
- Experience with CI/CD tools like Buildkite, Jenkins, GitHub Actions, or similar.
- Solid understanding of distributed systems and caching strategies for build acceleration.
- Experience working in a monorepo environment and managing large-scale build dependencies.
- Familiarity with Docker, Kubernetes, and cloud-based build environments.
- Strong debugging and problem-solving skills related to build performance and reliability.
- Excellent communication skills and ability to work cross-functionally with engineers from different teams.
Responsibilities
- Improve and maintain our Bazel-based build system, optimizing build speeds, dependency management, and caching strategies.
- Enhance and scale our Buildkite, and other CI/CD platforms, ensuring high availability and efficiency.
- Develop and support tooling for managing large-scale monorepos, including dependency management, incremental builds, and remote caching.
- Identify and resolve bottlenecks in our build and test workflows to reduce iteration time for developers.
- Work closely with product engineers to improve local development workflows and integrate best practices.
- Implement self-healing and auto-scaling solutions for build and test infrastructure.
- Partner with teams across Developer Platform, Compute to provide seamless developer experiences.
Preferred Qualifications
- Experience with remote execution environments (e.g., RBE, BuildBarn, Bazel’s Remote Cache).
- Contributions to open-source build tooling or CI/CD frameworks.
- Experience integrating static analysis and test infrastructure into build pipelines.
- Knowledge of repository management strategies, including git submodules, sparse checkouts, and dependency versioning.