This document discusses the evolution of software builds from single source file programs compiled with a command line, to more complex builds of programs with multiple source files and dependencies managed by build automation tools. It describes how builds are used to integrate and test code in a neutral environment separate from development. The key aspects of build infrastructure, management, and continuous integration are outlined.