Why I am in system administration instead of programming
One way to put it is that in system administration, an issue that takes all of your time and energy for a week is a big thing and one that takes a month is generally a crisis. The same generally cannot be said of programming except at a very small level; while you may clearly be going up steps, the top of the path is generally not in sight.
Or in other words, you accomplish visible things much faster in system administration, and this gives you real, tangible signs of progress and accomplishment; you can fix a problem and make a user happy in a day, and you often do. Programming, well, it moves more slowly, and thus your rewards come more slowly, sometimes very much so.
(Generally. Web programming can be an exception, and interestingly so can internal applications, because you can deploy new versions much faster. If you are working in an environment where you can actually implement a new feature in a few days, you can roll it out soon thereafter and have the good feeling of seeing it help users. I note that much sysadmin programming is for what I think of as small internal applications, and thus you keep getting your fast feedback.)
All of this ties into the idea that feedback makes us feel that we're getting things done. Because system administration problems are generally comparatively small, you get much faster feedback and rewards than in programming.