I find myself sometimes saying that I’m pragmatic when it comes to engineering decisions but the more I think about it, the more I guess I’m just lazy.
And thought of course reminds me of what Larry Wall (creator of Perl) said:
“The three chief virtues of a programmer are: Laziness, Impatience and Hubris.”
Now I loved Perl, and I’d probably still use it these days but nowadays I’m probably more of a Python guy (because dependencies) however I think Larry still nailed it when he said.
Laziness:
It makes you go to great effort to reduce overall energy expenditure.
It makes you write labour-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it.
Impatience:
The anger you feel when the computer is being lazy.
This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to.
Hubris:
Excessive pride, the sort of thing Zeus zaps you for.
Also the quality that makes you write (and maintain) programs that other people won’t want to say bad things about.
I think these principles tap into a more honest side of the reasons why people program.
We do it to be loved. Like a rock star, when we’re not rock stars.
We have control, we are lazy (we make it looks effortless), we want to be adored.