Introduction to Developer Productivity Engineering

November 30, 2022

9:00 AM - 10:30 PM PST


Description

If you are not already familiar with DPE, it is a new software development discipline that uses acceleration technologies and data analytics to speed up the critical software development processes—from builds to testing to CI—and make troubleshooting more efficient. In this hands-on training with labs we will demonstrate DPE best practices and tools in action—using examples from Java projects that rely on Maven or the Gradle build tool.

At a high level you will learn how to:

  • Leverage build and test acceleration technologies like Build Cache and Test Distribution to instantly speed up feedback cycles as much as 90%.
  • Cut debugging and troubleshooting time in half using data analytics to rapidly identify incident root causes and better manage avoidable failures like flaky tests.
  • Continuously improve performance and guard against regressions through metric, KPI and trend observability.

More specifically, this training will cover how to:

  • Accelerate debugging and root cause analysis leveraging “build scans”
  • Achieve significant reductions in local and remote build times using “build caches”
  • Avoid performance regressions and continuously improve toolchain reliability with performance management “analytics”
  • Detect, prioritize and eliminate the most damaging flaky tests utilizing a “test dashboard”
  • Integrate with Git/Jenkins

The end-result of pursuing DPE excellence will be a transformative and highly satisfying developer experience.

Instructor

Raju GandhiRaju Gandhi
Developer Advocate @ Gradle

 

Audience

Gradle and Maven build tool users interested in speeding up builds are encouraged to attend the training.

Prerequisites and Objectives

Make sure you have JDK 11 or later installed if you do not already. You can use your favorite IDE or text editor during the workshop.

After this training the participants will be able to:

  • Understand the benefits of using the Gradle or Maven build cache
  • Use and configure the build cache
  • Optimize build logic for maximum cacheability
  • Maximize the benefits of the local and remote build cache for both Gradle and Maven

Course Outline

  • Introduction
  • Current state of build engineering
  • What is Develocity and what are its benefits?
  • Lab 1: Creating a build scan
  • Lab 2: Extending build scans
  • What is a build cache?
  • Gradle and Maven build caching
  • Lab 3: Using the local build cache
  • Remote build cache and its topology
  • Lab 4: Using the remote build cache
  • Lab 5: Comparing builds to understand cache misses
  • Best practices to increase cache effectiveness
  • Build cache administration
  • Performance monitoring and data analysis
  • Lab 6: Live dashboard of build activity