There was a time, not too long ago that I lived for the ideals of a perfectly structured, object oriented coding style. I would have loved to force everyone to learn this beautiful system of easily maintained code. This among other things is what made me love programming after all.
There was a time, not too long ago that I felt I was the most skilled programmer alive (a bit on the ridiculous/arrogant side) or at least that I was a giant step above all clasmates and co-workers. This arrogance came across to many people and ruined what could have been good relationships.
There was a time when I could see the joining of the coding for hobby world and the coding as a career world. Today I see that they are too different worlds. They share a common language but they are saying far different things.
Friends, those of you not yet working in the field, what you're looking forward to doesn't exist. Yes, you will enjoy parts of your career but you will detest much of it as well. There are days where you will hate your life and come to understand that a job is a job, period.
I suppose this brings me to where I have to tell you why I still do this for a living? On my desk is a picture of my family. My wife, son (2), and daughter(11 months). On my pc desktop is a picture of my son in front of the dolphin tanks at sea world. Had these pictures not been there, most certainly I would have quit many times over. I need these to tell me to stay put and take it like a man. I need these to tell me that it isn't about ME anymore. Is my purpose here to discourage you? Certainly not. Pursue the career with all your vigor. But understand that it will become a job. Like any other. Good day.