Programmers need to learn from bureaucrats of the 19th century. When bookkeeping of the people truly became a thing in the 1800s, industrialised nations sent out bureaucrats to collect the names of people in villages. Unfortunately, people seldom had enough names to fill in the forms the bureaucrats had. The idea of a family name was not something bestowed to nor necessary for a lowborn. If you're the only Jack in town, why bother with any other name than Jack?
Not contend with simply filling in Jack, bureaucrats would simply come up with a last name for them. Or - if they felt so inclined - ask the person to come up with one themselves. They would often chose their occupation. Americans know that a lot of modern family name spellings in the US are the result of careless bureaucrats at Ellis Island.
Back then, family names, house names, last names and surnames weren't necessarily the same thing. One might have more than one. You may be of one House, but your last name was Jackson (son of Jack). Also somewhat inconvenient for these bureaucrats with few fields on their forms. And also, stop changing last name from generation to generation.
Though, fortunately for these bureaucrats, unlike modern programmers, when the map did not fit the terrain, they could simply alter the terrain.