Kris Buytaert advocates for defining infrastructure and pipelines as code using tools like Jenkins Job DSL and Git. This allows infrastructure to be version controlled and centrally managed, with reusable jobs that can be updated in sync. Defining pipelines as code stops operators from manually "clicking" in interfaces and ensures consistency across teams.