Similar to many companies, we build docker images for all components that are used in our product. Over time, a couple of these images became bigger and bigger and also our CI builds were taking longer and longer. My goal is that CI builds don’t take longer than 5 minutes. The idea comes from the fact that it is the ideal length for a coffee break. When builds take longer than that, it slows down the developer productivity.
The reason for the loss in productivity is caused by:
- developers need to wait for the build to complete and thus waste time
- developers start on something new and come back to it at a later time. This requires more context switching which often also leads to inefficiencies.

In this blogpost, I want to illustrate 2 small changes that we applied and that resulted in a drastic improvement of our build times.