Writing a computer program in a curious blend of 2 things:
As much noted everywhere, programming is the process of telling a system of computing hardware exactly what to do, using (to humans) incredibly inane and precise instructions, step by step. The required detail is so insanely detailed and repetitive that humans (whose brains are wired from birth for language) have found it useful to create programming languages to take care of (some of) the repetitive details, and to help bridge the chasm between computers and what humans want computers to do.
Programming is *also* (and this part is often given “short shrift”) the act of communicating with other “future reader” humans, clearly through sensibly organized logic, and via good comments embedded in the code, what it is that you believe you are telling the computer to do, so that those “future reader humans” can “maintain” the computer code that you are writing.
“Maintenance” of software is always necessary because programs execute in some human context, which like life itself, evolves over time. The computer system does not “evolve over time” by itself (at least generally not, AI and bleeding edge special cases aside).
Accordingly programmers have to constantly “maintain” computer programs as the human context that they execute within, evolves. A classical, canonical example of this is the ordinary payroll system—when Uncle Sam changes the FICA withholding rules, programs must change their behavior to comply— of course some “expected” changes have long since been parameterized— when a withholding rate changes there may be no code change needed. However when a coronavirus creates the necessity for “new withholding
categories”, or perhaps even “negative withholding” such that people get extra money, then computer code maintenance of payroll systems may well be necessary.
If you are (un)fortunate enough be a programmer, you should provide context and comments for category 2 above willingly and carefully— the future benefactor may well be yourself. Nearly everyone who has been in the business for a while has had the experience of thinking,
“What idiot created this weird POS, so-called logic?”
…only to look and find that the name at the top of the program is one’s own, a program written so long ago that you do did not recall it.