CI/CD is practically ubiquitous these days—it’s so common that we tend to take it for granted, and we assume that all software developers will have a passing familiarity with it. But hang on! That passing familiarity is often very surface-level indeed. Ever wonder why we talk about “builds”, even for languages with no compilation steps? Why do we have “pipelines” that can produce “artifacts” that can be “promoted” if they pass certain “gates”? This talk will deconstruct these ideas and rebuild a notion of software delivery from the ground up, helping to define these concepts and explain how they come together to make up software delivery practices.
If you’re new to software development or open source, this talk will give you a firm foundational understanding how delivery works, and why we do it that way. If you’re experienced, this will drill into the foundational assumptions behind what we do when we build software, and re-examine those concepts in the context of modern development and deployment practices. Join us as we examine why we build, why we test, and why we should care.