You forgot to add the cognitive load of needing to learning their business domain. Programming or working on code is very much like replaceable lego blocks, which are made up of your typical functional, procedural, queues, dictionaries, link list, and your data model. The mental load really comes from needing to learn a often narrow niche with all their idiosyncratic edge case conditions and data models.
I've worked on Titling Systems, Game Development (C/C++), Integration Systems, and Backend database systems. All those niche data models/systems live rent free in my head. It is all absolutely worthless to my current employer or people around me because they're focused on solving their unique problems which at the end of the day just become another piece of worthless business procedure in my head. It is worthless because of the fact that business and people only care about solving their problem, once its solved they just move onto the next.
a_imho
Counterpoint, reorgs do happen. Even if someone is doing a fine job, they can find themselves in a completely new team working in a completely new domain just because bodies needed to be buried.
I've worked on Titling Systems, Game Development (C/C++), Integration Systems, and Backend database systems. All those niche data models/systems live rent free in my head. It is all absolutely worthless to my current employer or people around me because they're focused on solving their unique problems which at the end of the day just become another piece of worthless business procedure in my head. It is worthless because of the fact that business and people only care about solving their problem, once its solved they just move onto the next.