It's a self inflicted wound. Companies do not reward loyalty. They do not give out raises congruent with what you can find if you leave. Business-types unirionically think seasonal layoffs is a "good thing." Self hemorrhaging your institutional knowledge is insanity
We have no frame of reference if it's working because basically everyone is doing it. And business only measure on extremely short timelines. Meaning, it could be good right now, and catastrophic on the 10+ year timeline.
I definitely think this is the case. Almost all software is unbelievably bad. Almost all software gets worse the longer it exists. And almost all software does not meet its business purpose - it's merely contorted by the customers to just barely meet their needs.
Maybe. Businesses have been approaching it this way for at least as long as I've been in the industry (16ish years) and I haven't heard of anyone going bankrupt because of a lack of institutional knowledge.
> Almost all software is unbelievably bad.
This is an opinion. And implies that software would, on average, be better if businesses made more of an effort to retain internal talent vs hire outside talent. And I think that's largely unprovable.
The average tenure of a person in engineering role is so short that very few employers are thinking about developing individuals anymore.
The actual way this gets approached is "If you want seniors, you must hire seniors".
I'm not sure how this plays out now. But it's easy to imagine a scenario like the COBOL writers of the last generation.