I am currently 31. I have been in your position & I understand completely what you are dealing with. It would seem that you have hit that plateau where your miopic focus on Perl programming has become a path of diminishing returns.
Now I will point out to you that I believe that you are incorrect thinking that you are at the 'top' of your field, and that there are no programmers who make serious moola. There are many programmers I am personally aware of that make upward to $200k/yr. by coding alone. However, in order to do that you need to go back to school & finish up. Remember, the business world doesn't push programmers. Academia does, which I believe is why a lot of us come to this site, to push ourselves & try to learn more.
(BTW most of those guys came out of MIT)
I want to point out to you something else also that you're blatantly overlooking: Management
Now I know that you specifically said that you don't want to go that route. I want to ask you to ask yourself: why? I'm going to point this out to you because it's a mental block, not a real problem, as I came to realize.
By getting involved with management you do not need to stop programming. In fact, you can do MORE. I took a position of Manager of Web Development & had 3 Perl coders working for me, maintaining a financial information web site for 100,000+ unique users/month.
I took this position & then realized that I was still doing the same work, but had helping hands to dole out the grunt work to. I took on the meat of any assignment. Call me a micromanager if you will, but I would keep what I perceived as the most difficult parts of the project for myself to do. I did this because I was worried that I wouldn't hit my deadlines & found it easier to ask myself to work harder than it was to ask others to do so.
So what I'm saying here is that in programmer circles, you can be a manager & lead by example.
I have since gone the track of Director of Web Engineering, and then finally, after a LOT of VERY HARD work, I became a Corporate Technology Officer.
In these capacities I have served as every single person operating under me in times of need. Having gone the route of coming up from a lowly tech in the first place I had the experience & know how to get things done. This meant occasionally doing desktop support when the normal guy was out sick & the CEO has a virus on her laptop, and acting as the primary Software Architect. I was able to flex my tech-saavy every minute of every day. I can say that I found the experience extremely rewarding, both mentally and money-wise.
Unfortunately my wife passed away & I needed to give up the position after several months to deal with personal issues. But now I am a consultant, which is the best of both worlds. I get paid hourly equally for sitting & writing code or sitting & talking to/teaching people.
My advice to you is this: You are not at the end of the road, you are at the beginning.
Also, don't base your expectations of salary on national surveys or even local ones. Base it on how Good you are. What do you deserve? Look at the benchmark & judge yourself against the mean. You claim to be at the top of your field, so take the highest salary you find & double it. Then negotiate yourself downwards.
Also, get yourself a placement agent. A real one. A honest to God headhunter is a good thing working on your side too. These people are paid on a percentage of the salary you will be making. It is in their best interests to get you as much as you're worth, if not more. Tell them exactly what you want & don't let them waste your time sending you on pointless interviews. Only do the ones YOU WANT.
I will point out to you also that you are much farther along in a university education than I am. I don't have a single college credit. I went directly to work after school. Oh sure I have 2 dozen certifications from this company or that company, but I got those along the way.
I didn't go to school at all because at the time I would have been going they were teaching COBOL & FORTRAN where I saw that all of the new software being release was written in C. It seemed like a great waste of time & money at that time. Of course it's never too late & I could probably still learn a lot now.
Broaden your perspective. The best thing we all have going for us is that we can get jobs ANYWHERE. If you feel like moving too, then find a place that you like, that's cheap to live in & go get a monster salary to go with it.Good Luck!
Wait! This isn't a Parachute, this is a Backpack!
In reply to Re: Advancing oneself personally and professionally as a programmer (discussion)