Of course you’re right - we all should, and indeed do, know this. But people, including our good selves, occasionally make mistakes when entering data into computers or smartphones or whatever. No amount of knowledge can make up for this basic fact about people: to err is human, etc. And, as others have pointed out, when a SOTA activist is on a cold, wind-swept hill and trying to tap characters into a smartphone with cold fingers, even more opportunities for errors present themselves. There are also those who type such things as “7.033.1” into an entry field because they’ve seen that others have done the same; or maybe they’re unsure as to what exactly should be entered into the appropriate field (VERY few people read the help or popup hints!), or perhaps they think that “7.033.1” is a really cool way of expressing a frequency, or… and so on.
As you must surely know, programming is not just about writing a set of processes which react correctly when a button is pressed, or writes successfully to a database, or looks nice on the screen; it’s also about the interaction between the processes and a person. A good programmer should understand right from the start when writing a program that “bad” data can and will be input by a user of the program, and that he/she should ensure that sufficient measures are taken in the code, or hints/error messages/help systems given to the user, to minimize the eventual propagation of such errors into a back-end system. A program which is written to accept any and all human-input data without demur is a poorly-written program.
So, a little understanding - psychology if you will - of “the user” is required by a programmer, in addition to the purely mechanical/technical knowledge required to create the nuts and bolts of a program destined to be used by us hapless, error-prone bipeds.
Well, I am prone to spout all kinds of things, nonsense included, so you might consider wearing a heavy raincoat and sou’wester when conversing with me…