This is a good take. All of programming is ultimately just tools to solve a problem, and if we don't have domain knowledge, we can't effectively solve the problems that we set out to in the first place.
Really hit the nail on the head about the "invisible decisions" which happen like the quality vs quantity with sails.
This! Selfhosting your own small apps is the best way to get practical, hands on experience with Linux administration.