I'd have to choose category 2, but only because the other categories do not fit me at all...
On the other hand, I resent the opportunistic bit in your definition (the bit about the money). I'm a professional programmer (as in: it's my profession...), but I'm not in it just for the money.
I chose to become one because I was - and still am, I'm told - good at solving problems. So it was the 'realistic' thing to do.
<code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>