DPE Summit 2023 announced, register for early bird $249 tickets
Get $249 Early Bird tickets to the industry's premier event dedicated to DPE practices, tools, and thought leadership. Join experts from the world's most admired brands Sep 20-21, 2023 in San Francisco.
Engineers want to focus on developing features for their Android app and not let build logic get in the way. In this training we will...
Read more
Description Engineers want to focus on developing features for their Android app and not let build logic get in the way. In this training we will examine how to organize an Android app that has multiple modules. Along the way we will cover best practices and understand how to modularize your application as well as the build logic for long term success. By the end of the training you will gain familiarity with how Android projects use Gradle Build Tool for managing build logic and become more comfortable working with build logic for both personal and professional Android projects. Duration 3 hours 15 mins training session Audience This class is designed for developers and build engineers who want to get familiar with build logic for Android projects. Prerequisites Recent version of Android Studio installed https://developer.android.com/studio Some experience creating Android apps Understanding of core Gradle build concepts Kotlin experience is a plus but not required Objectives Get familiar with build logic for Android projects Be comfortable with creating or modifying build logic for existing projects Learn how to modularize Android projects and build logic for long term success Course Outline Overview of sample Android app Creating app with build best practices Using Kotlin for build logic Centrally define dependencies using the version catalog Modularizing your project and build logic Having shared common build logic via convention plugins Next Steps
Engineers want to focus on developing features for their Android app and not let build logic get in the way. In this training we will...
Read more
Description Engineers want to focus on developing features for their Android app and not let build logic get in the way. In this training we will examine how to organize an Android app that has multiple modules. Along the way we will cover best practices and understand how to modularize your application as well as the build logic for long term success. By the end of the training you will gain familiarity with how Android projects use Gradle Build Tool for managing build logic and become more comfortable working with build logic for both personal and professional Android projects. Duration 3 hours 15 mins training session Audience This class is designed for developers and build engineers who want to get familiar with build logic for Android projects. Prerequisites Recent version of Android Studio installed https://developer.android.com/studio Some experience creating Android apps Understanding of core Gradle build concepts Kotlin experience is a plus but not required Objectives Get familiar with build logic for Android projects Be comfortable with creating or modifying build logic for existing projects Learn how to modularize Android projects and build logic for long term success Course Outline Overview of sample Android app Creating app with build best practices Using Kotlin for build logic Centrally define dependencies using the version catalog Modularizing your project and build logic Having shared common build logic via convention plugins Next Steps
Large software projects may consist of many components, each with its own configuration. Managing the growing configuration can be...
Read more
Description Large software projects may consist of many components, each with its own configuration. Managing the growing configuration can be challenging and if not done correctly lead to misconfiguration and frustration. Also often there will be common configuration and dependencies for these components. In this training we will cover best practices on how to organize build configuration for large software projects. We will dive into details of Gradle Build Tool features that make it easier to manage shared configuration and dependencies. These will not only make it easier to manage configuration for large software projects, but also improve build performance. Duration 2.5 hours training session Audience This class is designed for Build Engineers and Software Developers who want to learn how to better manage Gradle Build Tool configuration for large software projects. Prerequisites Gradle Build Tool experience Knowledge of core concepts Authoring Gradle build files including defining dependencies Executing common tasks to compile, test and package Kotlin experience is a plus but not required Experience with software development Objectives Learn how to structure build configuration for large software projects Course Outline Shared Configuration Overview Legacy approaches buildSrc includeBuild Custom Task Configuration Version Catalog Usage in shared configuration Next Steps
Get hands-on training on how to tackle build performance issues with the Gradle build cache. Topics include build cache basics, task...
Read more
Get hands-on training on using Gradle’s Build Cache for improving performance. Description The Gradle build cache significantly reduces build time by reusing outputs produced by other builds in your organization. In this training you will learn the basics and best practices to improve the performance of your builds by using the build cache. We’ll go over the recommended architecture for setting up a cache as well as how to author tasks to correctly utilize caching. We will also use Gradle Enterprise to learn how to analyze and troubleshoot issues. Duration 2.5 hours training session followed by 30-minutes Q&A. Audience Gradle build tool users as well as Gradle Enterprise users interested in speeding up builds are encouraged to attend the training. Prerequisites Gradle Build Tool experience Knowledge of core concepts Authoring build files Kotlin experience a plus but not required Experience with Java software development Objectives After this training the participants will be able to: Understand the benefits of using the Gradle build cache Use and configure the build cache Optimize build logic for maximum cacheability Course Outline Historical Background Context of problem we’re trying to solve Life of a build Performance Ideas: Re-use Build Cache in Gradle Incremental Builds Visible through task outcomes How it works Build-in tasks that support Limitations Local Cache How it works and benefits How to enable and use Limitations Hands-on exercise 1 Remote Cache How it works and benefits How to enable and use Hands-on exercise 2 Enabling with Custom Tasks Wiring inputs and outputs using annotations for caching Normalizing inputs Using runtime API to enable caching Hands-on exercise 3 Troubleshooting Tasks Possible problems Approaches to debugging Using build scans Hands-on exercise 4 Next Steps Getting started with local cache Gradle Enterprise for remote cache
Get hands-on training on how to tackle build performance issues with the Gradle build cache. Topics include build cache basics, task...
Read more
Get hands-on training on using Gradle’s Build Cache for improving performance. Description The Gradle build cache significantly reduces build time by reusing outputs produced by other builds in your organization. In this training you will learn the basics and best practices to improve the performance of your builds by using the build cache. We’ll go over the recommended architecture for setting up a cache as well as how to author tasks to correctly utilize caching. We will also use Gradle Enterprise to learn how to analyze and troubleshoot issues. Duration 2.5 hours training session followed by 30-minutes Q&A. Audience Gradle build tool users as well as Gradle Enterprise users interested in speeding up builds are encouraged to attend the training. Prerequisites Gradle Build Tool experience Knowledge of core concepts Authoring build files Kotlin experience a plus but not required Experience with Java software development Objectives After this training the participants will be able to: Understand the benefits of using the Gradle build cache Use and configure the build cache Optimize build logic for maximum cacheability Course Outline Historical Background Context of problem we’re trying to solve Life of a build Performance Ideas: Re-use Build Cache in Gradle Incremental Builds Visible through task outcomes How it works Build-in tasks that support Limitations Local Cache How it works and benefits How to enable and use Limitations Hands-on exercise 1 Remote Cache How it works and benefits How to enable and use Hands-on exercise 2 Enabling with Custom Tasks Wiring inputs and outputs using annotations for caching Normalizing inputs Using runtime API to enable caching Hands-on exercise 3 Troubleshooting Tasks Possible problems Approaches to debugging Using build scans Hands-on exercise 4 Next Steps Getting started with local cache Gradle Enterprise for remote cache
The objective of this training is to teach individual developers how to increase their productivity by debugging any local and CI...
Read more
Description The objective of this training is to teach individual developers how to increase their productivity by debugging any local and CI build issues faster using Gradle Enterprise, either on their own or in collaboration with colleagues. Topics Covered: Using a Build Scan to uncover what happened in the build Troubleshooting build failures efficiently Understanding dependency graphs in depth Analyzing flaky and failed tests Collaborating with colleagues more effectively Course Outline Duration 40 minutes of content with 20 minutes of Q&A. Audience Developers. Prerequisites None. Objectives Leaving this training developers will understand how to use scans to explore build issues they encounter, better self service troubleshoot their own build failures, and share scans with the build team using collaborative features for complex issues on which they need assistance.
Introduction to Gradle Build Tool is aimed at developers and build engineers who have no previous experience with Gradle Build Tool....
Read more
Description Introduction to Gradle Build Tool is aimed at developers and build engineers who have no previous experience with Gradle Build Tool. It is designed to give you a foundation in Gradle fundamentals. We assume you have some familiarity with software development. Our goal is to demonstrate the building blocks necessary for you to manage your own Gradle build projects. This class is hands-on, so you will spend a significant portion of the class with your hands on the keyboard, learning by doing, working through lab exercises. By the end of this class, you will know the basics of Gradle and have a feel for how Gradle tasks and builds work. Duration 4.5 hours training session Audience This class is designed for developers and build engineers who want to learn about Gradle. Prerequisites No prior experience with Gradle Build Tool is required. Install the latest version of Gradle Build Tool along with at least Java 1.8 Recommended: IntelliJ community edition Some experience with software development Training materials use some Java and Kotlin, experience with these or similar languages is a bonus but not required Objectives Learn core Gradle concepts and terminology Get practical experience with hands-on exercises Course Outline About Gradle Build Tool Build automation concepts Gradle Build Tool core concepts Gradle community Core concepts Build configuration Overview of Gradle configuration layout Creating configuration using Gradle init Opening in IDE Gradle wrapper Hands-on exercise 1 Build lifecycle The 3 lifecycle phases Plugins Plugin types Java plugins example SourceSets Tasks Task categories Inputs and outputs Dependency and ordering Task outcomes Authoring custom tasks Supporting command-line parameters Task configuration reading Custom actions in doFirst and doLast Build Scan service Hands-on exercise 2 Dependency management Types of dependencies Repository Modules Configuration of dependencies Transitive dependencies Module versioning Dynamic and changing versions Conflict resolution Documenting dependencies Hands-on exercise 3 Publishing Multi-project builds Structure Adding subprojects Sharing common configuration using buildSrc Legacy allprojects and subprojects Hands-on exercise 4
Build systems have evolved over time to provide more features to developers. In this course we will go beyond the basics of managing...
Read more
Description The objective of this training is to teach build engineers how to use Gradle Enterprise insights and analytics to debug and accelerate their builds. Fast,efficient and reliable builds provide productivity benefits to all who run the build, and allow the build to be run more often for faster development cycles and identification of issues. Topics covered: About the local build cache and remote build cache How to make tasks cacheable Debugging cache misses 3 build acceleration experiments to conduct Monitoring for build regressions Duration 1 hour of content Audience Build engineers, or any developers wanting to learn more about improving their builds. If an important project currently has nobody responsible for the build, we recommend designating a person to attend this training. Prerequisites Attendance of the Gradle Enterprise for Developers training or the equivalent basic understanding of Gradle Enterprise. (if you have missed the session, you may view a recorded version here: https://tv.gradle.com/ge-training-for-devs) Objectives Individuals who have attended this training will understand how to optimize their builds for build caching to maximize performance benefits and accelerate build times, and how to keep it that way by identifying and addressing regressions that can occur over time.
Introduction to Gradle Build Tool is aimed at developers and build engineers who have no previous experience with Gradle Build Tool....
Read more
Description Introduction to Gradle Build Tool is aimed at developers and build engineers who have no previous experience with Gradle Build Tool. It is designed to give you a foundation in Gradle fundamentals. We assume you have some familiarity with software development. Our goal is to demonstrate the building blocks necessary for you to manage your own Gradle build projects. This class is hands-on, so you will spend a significant portion of the class with your hands on the keyboard, learning by doing, working through lab exercises. By the end of this class, you will know the basics of Gradle and have a feel for how Gradle tasks and builds work. Duration 4.5 hours training session Audience This class is designed for developers and build engineers who want to learn about Gradle. Prerequisites No prior experience with Gradle Build Tool is required. Install the latest version of Gradle Build Tool along with at least Java 1.8 Recommended: IntelliJ community edition Some experience with software development Training materials use some Java and Kotlin, experience with these or similar languages is a bonus but not required Objectives Learn core Gradle concepts and terminology Get practical experience with hands-on exercises Course Outline About Gradle Build Tool Build automation concepts Gradle Build Tool core concepts Gradle community Core concepts Build configuration Overview of Gradle configuration layout Creating configuration using Gradle init Opening in IDE Gradle wrapper Hands-on exercise 1 Build lifecycle The 3 lifecycle phases Plugins Plugin types Java plugins example SourceSets Tasks Task categories Inputs and outputs Dependency and ordering Task outcomes Authoring custom tasks Supporting command-line parameters Task configuration reading Custom actions in doFirst and doLast Build Scan service Hands-on exercise 2 Dependency management Types of dependencies Repository Modules Configuration of dependencies Transitive dependencies Module versioning Dynamic and changing versions Conflict resolution Documenting dependencies Hands-on exercise 3 Publishing Multi-project builds Structure Adding subprojects Sharing common configuration using buildSrc Legacy allprojects and subprojects Hands-on exercise 4
Build systems have evolved over time to provide more features to developers. In this course we will go beyond the basics of managing...
Read more
Description: Build systems have evolved over time to provide more features to developers. In this course we will go beyond the basics of managing JVM based projects with the Gradle Build Tool. We will cover best practices that increase the quality and efficiency of building your projects. We will cover how these best practices can be used for projects written in Java, Kotlin, Groovy and Scala. There will be hands-on exercises to help you use what you learn in your projects. Duration: 4 hours training session including time for hands-on exercises and Q&A. Audience: Users that manage projects written in Java, Kotlin, Groovy and Scala with the Gradle build tool. Prerequisites: Gradle Build Tool experience Knowledge of core concepts Authoring Gradle build files Executing common tasks to compile, test and package Kotlin experience is a plus but not required Experience with software development with a JVM language Either Java, Kotlin, Groovy or Scala Objectives: After this training the participants will be able to: Deeper understanding of JVM projects Use modern best practices to boost productivity Course Outline: Evolution of Build Systems Provides context of topics covered in the training Gradle JVM plugins Java plugins Kotlin plugin Groovy plugin Scala plugin Source organization SourceSet concept Handling generated sources Creating separate SourceSets Hands-on exercise 1 Compilation Specifying Java version using Toolchains Using different Java version for specific tasks Dependency management: api vs implementation Declared vs Resolvable dependencies Hands-on exercise 2 Verification Testing Testing pyramid and test grouping Measuring and enforcing test coverage Hands-on exercise 3 Compliance & code quality Enforcing code style Using static code analysis Packaging Creating standalone Jars Dealing with dependency conflicts using shadowing Hands-on exercise 4
Build systems have evolved over time to provide more features to developers. In this course we will go beyond the basics of managing...
Read more
Description: Build systems have evolved over time to provide more features to developers. In this course we will go beyond the basics of managing JVM based projects with the Gradle Build Tool. We will cover best practices that increase the quality and efficiency of building your projects. We will cover how these best practices can be used for projects written in Java, Kotlin, Groovy and Scala. There will be hands-on exercises to help you use what you learn in your projects. Duration: 4 hours training session including time for hands-on exercises and Q&A. Audience: Users that manage projects written in Java, Kotlin, Groovy and Scala with the Gradle build tool. Prerequisites: Gradle Build Tool experience Knowledge of core concepts Authoring Gradle build files Executing common tasks to compile, test and package Kotlin experience is a plus but not required Experience with software development with a JVM language Either Java, Kotlin, Groovy or Scala Objectives: After this training the participants will be able to: Deeper understanding of JVM projects Use modern best practices to boost productivity Course Outline: Evolution of Build Systems Provides context of topics covered in the training Gradle JVM plugins Java plugins Kotlin plugin Groovy plugin Scala plugin Source organization SourceSet concept Handling generated sources Creating separate SourceSets Hands-on exercise 1 Compilation Specifying Java version using Toolchains Using different Java version for specific tasks Dependency management: api vs implementation Declared vs Resolvable dependencies Hands-on exercise 2 Verification Testing Testing pyramid and test grouping Measuring and enforcing test coverage Hands-on exercise 3 Compliance & code quality Enforcing code style Using static code analysis Packaging Creating standalone Jars Dealing with dependency conflicts using shadowing Hands-on exercise 4
Join Lee Mills, Senior Engineering Manager at Spotify/Backstage, in this episode of DevProdEng Lowdown discussing the origins of...
Read more
Why did Spotify, a world-famous media streaming company, internally create and release Backstage, a Developer Experience platform? In the next episode of DevProdEng Lowdown, Lee Mills, Senior Engineering Manager at Spotify/Backstage, discusses the origins of Backstage–an open platform for building developer portals to more easily manage and explore software from a single UX layer Lee Mills Senior Engineering Manager Spotify Topics What is Backstage? (Short demo) How did Backstage start at Spotify? How does Backstage get executive sponsorship? What are some Backstage DPE/DX wins at Spotify? Who are some notable Backstage adopters in the community?
Next practices for transforming the developer experience. This two-day, dual-track event features the leading minds on how to leverage Developer Productivity Engineering next practices and tools.
Next practices for transforming the developer experience. This two-day, dual-track event features the leading minds on how to leverage Developer Productivity Engineering next practices and tools to achieve digital transformation and pursue an IT-driven competitive advantage.