This is a very interesting piece about social mobility.
An economist with an interest in puns has tracked social mobility over great lengths of time using people's surnames. (Surname data is sometimes pretty good: "In cases such as England, where we have the records of most people who attended Oxford and Cambridge 1200-2013, the accuracy can be within 0.01 in terms of the measured correlation.") The headline result is that there is not and never has been very much social mobility:
"[A] remarkable feature of the surname data is how seemingly impervious social mobility rates are to government interventions. In all societies, what seems to matter is just who your parents are. At the extreme, we see in modern Sweden an extensive system of public education and social support. Yet underlying mobility rates are no higher in modern Sweden than in pre-industrial Sweden or medieval England.
Interestingly, in China, the extreme social intervention represented by the Communist Revolution of 1949, which included executing large numbers of members of the old upper class, has not resulted in much of an increase in social mobility. Surnames of high status in the Imperial and Republican era continue to be overrepresented among modern elites, including Communist Party officials.
The families that have high social competence, whatever the social system is, typically find their way to the top of the social ladder."
There is some social mobility in the sense that regression to the mean happens over hundreds of years, but it seems that endogamous marriage can stop even that.
What is the moral of this story? Well, it's hard to do much about who your parents are or what is in your genes, but I suppose you can always try changing your surname ...