I haven't Well, I have a open source project that is in distribution by Debian, but I get no money for that. I've been studying programming pretty much full time hours for a few years (before that, it was a casual affair), and I am interested in getting some kind of certification -- I'd love to go back to school for a few more years (hell, I'd love to go back permanently). I'd love to do all the nerdy theory and stuff in a CS degree. However, I am biding my time somewhat on this, as I don't have to work right now anyway. For example, I'd really like to freelance, which means a degree will not mean so much, vs. experience and a "portfolio". And I ain't getting younger either...
Which is to say I am in a similar boat, but I've been here for a while. You know what I would very very strongly recommend: do dive in RIGHT NOW and put as much time in learning as you can. If you have not done it much before, you really, really should find out in a serious way 1) if you like it 2) how you feel about your potential. Remember, this is typing code and doing arcane research all day, everyday -- that's what it is. Web forums like this one are a tremendous resource (not surprisingly, the net is packed to the nines with stuff by and for programmers on all levels, it's great).
I love it, and I think I'm good enough, but I now feel that there are a lot of programming jobs I really would not want. Even if that means not being a professional. Mostly, this has to do with work environment (there are a lot of jobs in every profession I would not want) and not the task per se, altho that may not be such an easy boundary. As Kennedy points out, if you really enjoy programming, you will probably enjoy doing it regardless of the genre. If you don't, you are bound for frustration and disappointment. So, to repeat: YOU NEED TO FIGURE THAT OUT, SO IF YOU'RE SERIOUS, GET HUMBLE AND START TRYING. Seriously. Any other course of action will be totally foolhardy.
Maybe it is like playing guitar: lots of people think they want to, and then find it boring or unrewarding. Beware!