That work doesn’t just pay off in rampup time. True, people can figure things out quicker. It’s easier for early career developers to transition to senior positions. It’s less likely for someone to vastly overrun estimates for tricky new features when the code is well factored. But it’s also about scaling your company up.
When your company gets bigger, you will have more than one project. You need to be able to remove people from project A without killing it, and occasionally bring people back to project A at a later date.
These things have been a constant source of drama everywhere I’ve worked where there “wasn’t enough time” to follow my recommendations. The projects grind to a halt and eventually they lose so many of the old people they have to start over. But it’s the same management style so the process repeats.
I specialize in long life software, so I agree with you, but I understand the alternative.
How does one market themselves in this specialization?
if avail > 0:
if available_hosts > 0:
if number_of_hosts_to_scan > 0:
I'm not afraid to type long variable names because the editor has autocomplete. I don't type much and I don't make typos.
1. It is not obvious to everyone.
2. Another integral parameter called k is added later on. Now which is which?
3. Another guy might call all his integral parameters k. n and k are used for the same thing all over the code-base. An outsider might initially think they are different.
4. Names which are descriptive of their use are obvious to everyone by definition.