I realize that this is a slightly strange and subjective question, but I'd still appreciate everyone's feedback.
My entire life, since I was a kid, everything I programmed had fairly "visible" manifestations. I wrote toy games, publicly accessible database-driven applications later, IDEs and GUI based tools in earlier jobs and later, etc. I always felt that I got something almost "tangible" from the thing I created, because I could interact with it directly, and often I could use it myself.
I'm thinking of going to work in a sector that involves writing mission-critical business code related to accounting. I think I will enjoy the technical challenges that are involved (lots of transactions, quality requirements, etc.). What I'm wondering about, though, is how I am going to feel about code that I don't see "in action" and that I or anyone will never get to see of use. In fact, if all works correctly then I should never see or hear my code again. If it's not correct, I'll know about it because the IRS or the SEC or whoever will come knocking.
Even from a quality standpoint, I'm used to knowing that something works because it not only acts according to spec but "it feels right" when I interact with it. In a business system back-end, I'm not going to have that.
I'm sure that many others here have made this transition. Has this been a problem? How did you adjust?
Edit: By "See" I don't mean that I can't see traces or visualize it's execution. I mean that I don't actually "interact" with it or have a visible aspect to the product, and that it is "UNIX silent" - it works if you never hear from it again. I can obviously test it and everything.