It seems that the nature of genetic information in complex organisms has been misunderstood since the inception of molecular biology, primarily because of the assumption that most genetic information is transacted by proteins. Other assumptions made during the formative years of genetics also appear to be incorrect, notably that mutations are random, and that epigenetic memory of experience is not inherited. Genomes contain biological software encompassing codes for components, self-assembly, development, cell differentiation and reproduction, supplemented by information in parental cells and epigenetic memories. Not only has the data evolved, but also the data structures, implementation systems and search algorithms. Indeed, it is likely that evolution has learned how to learn, and that many primitive preconceptions will have to be reevaluated, with more surprises in store.