Something I can't help but notice in studying all the software running on my laptop: Basically all of it is there to communicate with us, computing answers to our questions typically takes only about a dozen lines of code depending on the language. If that, usually we're just storing & sending data!
Communicating with humans is by far the hardest task most computers tackle, requiring complex I/O stacks even to render a terminal window!
What is an OS if not a complete I/O stack teaching computers how to communicate effectively with hardware external to the CPU/RAM & the human(s) on the other side? And to ask the question "what may I do for you?"
So maybe I'm biased because I'm studying an OS. But still, I see the same thing in any app I study. Reams & reams of dead obvious UI code backed by very little logic. And when I go job hunting "backend" code is mostly datamodelling, not computation.
@alcinnz it hit home for me how much we take this for granted when I started programming for the GBA. blitting out hundreds of sprites all over the screen using hardware acceleration is actually quite easy; what's tremendously difficult is a "hello world" program that actually puts text on the screen.
For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).