This document discusses strategies for evolving a data platform. It begins by describing some common approaches to data storage and scheduling, including using shared storage, weak scheduling, and monolithic data platforms. It then discusses challenges like availability, schema evolution, and the need for data engineering. Key recommendations include introducing granular reusable pipeline steps, separating pipeline concerns, using schema managers, and separating code and schemas. The goal is to build a reliable, scalable and fault-tolerant data platform that can efficiently handle data and schema changes.