Many people have asked why I enjoy doing operations, infrastructure, tooling, and in general what can be considered devops and higher-level systems work vs product and feature development work. Here is why.
Every feature for a product is a liability. Adding features to a product almost always means adding more code. More code means potentially more bugs because of unforeseen interactions with other existing features. I’ve never seen a product codebase grow smaller over time. All product codebases grow larger and more complex as time passes and usually topple under the weight of unnecessary complexity.
Contrast that with doing infrastructure and higher-level systems work. The fundamental goal in that setting is to tame complexity. To tame complexity you need to sit down and think really hard about what aspects of the existing system are mismatched with your goals and then you can either write some software to close the gap or better yet you can re-think the problem to better fit the existing system. The other important thing to keep in mind is that most systems are already full of unintended interactions so a good devops/operations/infrastructure engineer tries to reduce the surface area of the system by building and leveraging as few abstractions as possible because adding more things to an already complicated system can only make things worse.
But the bottom line is that I think systems are way more fun than products. When done right a good system augments human capabilities whereas products place people in very specific and constrained contexts. Not to say there aren't products that are designed to augment human capabilities but they are the exception rather than the rule.