coding is one thing i do for a living. you have to have the mentality to like doing it. somewhat arcane and pointless at times.
but i make good money, work out of my house, do my own hours. you gotta like it to do it that way. but if you can you can work anywhere. my main office is in costa mesa. we have corp office in atl. i go in there maybe oncet a month. go to cm mayhap oncet every 18 months.
i've worked with lots of people who thought it would be cool to be a programmer only to find out it is an extremely tedious job if you don't have the knack/desire..
one thing that has helped me is anticipation of what people want and how it will really be used as opposed to working with a rigid plan. so once done i dont get a lot of complaints or bugs.
programming is a craft.. you can have professional values about how you do it but it is not a true profession. some extremenly math oriented programming may be scientific, but the vast majority of it is a craft. like the guys that made flintlocks by hand before there was any assembly line production. each person does it differently. another thing i like about it is the inexactness.. the holy grail of programming is finding a way to assembly line program. still a ways off..... and if it comes you will prolly assembly 'programs' by arraning chips/silicon...