Ageing is inherent to all human beings, yet why we age remains a hotly contested topic. Most mechanistic explanations of ageing posit that ageing is caused by the accumulation of one or more forms of molecular damage. Here, I propose that we age not because of inevitable damage to the hardware but rather because of intrinsic design flaws in the software, defined as the DNA code that orchestrates how a single cell develops into an adult organism. As the developmental software runs, its sequence of events is reflected in shifting cellular epigenetic states. Overall, I suggest that to understand ageing we need to decode our software and the flow of epigenetic information throughout the life course.