2 Inner Loop: Development Environments

 

This chapter covers

  • Working with requirements and codebases
  • Setting up a portable development environment
  • Implementing a new requirements in the inner loop
  • Defining a baseline for the developer experience

In this chapter, we will start exploring the inner loop activities that developers perform to do their work. But we need to start from the beginning. How does a developer start working in the first place? This chapter explores development environments, their shapes and sizes, and some common techniques to make them reproducible, no matter how complex.

In the first part of this chapter, we will look at the specifics of the inner loop activities, what developers expect from the tools they use to perform these tasks, and reflect on the friction points introduced in chapter one. In the second half, we will get our hands dirty by changing one service of the MinSalus application to perform the inner loop activities in Java and Go.

2.1 Preparing for Development: Requirements and Codebase

Imagine you’re an application developer who has just joined a new team. You have been given a new laptop and are ready to start working on the project. You get assigned a task to implement a new feature in an existing application. You’re excited to kick off the inner loop activities and start coding. Before going into the code, you must go through some preliminary steps. In this section, we'll cover requirements and codebases.

2.1.1 Working with Requirements

 
 
 
 

2.1.2 Managing the Codebase

 
 

2.2 Managing Development Environments

 
 
 
 

2.2.1 The Anatomy of Development Environments

 
 
 
 

2.2.2 The Challenges of Traditional Development Environments

 
 

2.2.3 Towards Reproducibility with Containers and Podman Desktop

 
 

2.2.4 Portable Development Environments with Devcontainers

 
 
 

2.3 Implementing a Change

 
 
 
 

2.3.1 Understanding the Current Behavior

 
 
 

2.3.2 Code and Run

 
 
 

2.3.3 Test and Debug

 
 
 

2.4 What we learned

 
 
 
 

2.4.1 Friction Point #2: Setting Up a Development Environment

 
 

2.4.2 Friction Point #3: Making a Change

 
 
 

2.4.3 Friction Point #4: Testing a Change

 
 
 
 

2.4.4 Friction Point #5: Running a Change

 

2.4.5 Friction Point #6: Debugging a Change

 
 

2.5 Summary

 
 
 
 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage
test yourself with a liveTest