DPE Summit 2023 is a SOLD OUT event! Registration for this year’s summit is now closed.
logo-DX abiNoda-FNL 1
Yunji Zhong

Software Engineer
DoorDash

SESSION

Building a Gradle-Based Monorepo for Kotlin Backends

Brought to you by
Fill 1 Fill 2
,Inc

Monorepos are powerful tools to drive code standardization and boost engineering velocity. Moreover, they allow for centralized enforcement of platform standards and simplified dependency management, allowing developers to focus almost exclusively on business logic. All of this comes at the investment cost of dedicated staffing and tooling to overcome technical limitations of version control, build systems and release pipelines.

Learn how DoorDash augmented Gradle’s capabilities to provide a better local development and CI experience for our large codebases. Leveraging Gradle’s composite build feature, we developed some custom tooling that allowed us to build a project graph and accurately compute affected targets for a given change. Subsequently, we’ll talk about options we explored to distribute our builds using Jenkins over Kubernetes as well as an in-house remote execution service, and their trade-offs.

CI and Local Build/Test Acceleration, Toolchain Reliability, IDE and Tooling, Distributed Workforce Productivity
CONTAINER
CLIPPING-MASK
ICON-DX
Who is Yunji Zhong?

Yunji is a software engineer at DoorDash, working on the Kotlin platform team. He develops foundational frameworks for microservices and resilient client libraries (e.g., HTTP, gRPC, Kafka, Redis). He also designs the monorepo structure for Kotlin Gradle projects and has created an efficient distributed build system. Previously, he worked at Uber, developing their Go monorepo that hosted all Golang projects.

logo-DX abiNoda-FNL 1
Yunji Zhong

Software Engineer
DoorDash

SESSION

Building a Gradle-Based Monorepo for Kotlin Backends

Brought to you by
Fill 1 Fill 2
,Inc

Monorepos are powerful tools to drive code standardization and boost engineering velocity. Moreover, they allow for centralized enforcement of platform standards and simplified dependency management, allowing developers to focus almost exclusively on business logic. All of this comes at the investment cost of dedicated staffing and tooling to overcome technical limitations of version control, build systems and release pipelines.

Learn how DoorDash augmented Gradle’s capabilities to provide a better local development and CI experience for our large codebases. Leveraging Gradle’s composite build feature, we developed some custom tooling that allowed us to build a project graph and accurately compute affected targets for a given change. Subsequently, we’ll talk about options we explored to distribute our builds using Jenkins over Kubernetes as well as an in-house remote execution service, and their trade-offs.

CI and Local Build/Test Acceleration, Toolchain Reliability, IDE and Tooling, Distributed Workforce Productivity
CONTAINER
CLIPPING-MASK
ICON-DX
Who is Yunji Zhong?

Yunji is a software engineer at DoorDash, working on the Kotlin platform team. He develops foundational frameworks for microservices and resilient client libraries (e.g., HTTP, gRPC, Kafka, Redis). He also designs the monorepo structure for Kotlin Gradle projects and has created an efficient distributed build system. Previously, he worked at Uber, developing their Go monorepo that hosted all Golang projects.

logo-DX abiNoda-FNL 1
Yunji Zhong

Software Engineer
DoorDash

SESSION

Building a Gradle-Based Monorepo for Kotlin Backends

Brought to you by
Fill 1 Fill 2
,Inc

Monorepos are powerful tools to drive code standardization and boost engineering velocity. Moreover, they allow for centralized enforcement of platform standards and simplified dependency management, allowing developers to focus almost exclusively on business logic. All of this comes at the investment cost of dedicated staffing and tooling to overcome technical limitations of version control, build systems and release pipelines.

Learn how DoorDash augmented Gradle’s capabilities to provide a better local development and CI experience for our large codebases. Leveraging Gradle’s composite build feature, we developed some custom tooling that allowed us to build a project graph and accurately compute affected targets for a given change. Subsequently, we’ll talk about options we explored to distribute our builds using Jenkins over Kubernetes as well as an in-house remote execution service, and their trade-offs.

CI and Local Build/Test Acceleration, Toolchain Reliability, IDE and Tooling, Distributed Workforce Productivity
CONTAINER
CLIPPING-MASK
ICON-DX
Who is Yunji Zhong?

Yunji is a software engineer at DoorDash, working on the Kotlin platform team. He develops foundational frameworks for microservices and resilient client libraries (e.g., HTTP, gRPC, Kafka, Redis). He also designs the monorepo structure for Kotlin Gradle projects and has created an efficient distributed build system. Previously, he worked at Uber, developing their Go monorepo that hosted all Golang projects.

logo-DX abiNoda-FNL 1
Yunji Zhong

Software Engineer
DoorDash

SESSION

Building a Gradle-Based Monorepo for Kotlin Backends

Brought to you by
Fill 1 Fill 2
,Inc

Monorepos are powerful tools to drive code standardization and boost engineering velocity. Moreover, they allow for centralized enforcement of platform standards and simplified dependency management, allowing developers to focus almost exclusively on business logic. All of this comes at the investment cost of dedicated staffing and tooling to overcome technical limitations of version control, build systems and release pipelines.

Learn how DoorDash augmented Gradle’s capabilities to provide a better local development and CI experience for our large codebases. Leveraging Gradle’s composite build feature, we developed some custom tooling that allowed us to build a project graph and accurately compute affected targets for a given change. Subsequently, we’ll talk about options we explored to distribute our builds using Jenkins over Kubernetes as well as an in-house remote execution service, and their trade-offs.

CI and Local Build/Test Acceleration, Toolchain Reliability, IDE and Tooling, Distributed Workforce Productivity
CONTAINER
CLIPPING-MASK
ICON-DX
Who is Yunji Zhong?

Yunji is a software engineer at DoorDash, working on the Kotlin platform team. He develops foundational frameworks for microservices and resilient client libraries (e.g., HTTP, gRPC, Kafka, Redis). He also designs the monorepo structure for Kotlin Gradle projects and has created an efficient distributed build system. Previously, he worked at Uber, developing their Go monorepo that hosted all Golang projects.