I'm largely a self-taught programmer. In fact, I first started programming about half way through biophysics grad school, and even though I think I've done some pretty nice work, I've never worked as part of a 'serious' development team that had more than one or two other developers (and I wouldn't hesitate to call them equally inexperienced in software development as a profession).
After finishing my PhD I've kept focused on programming, officially as a postdoc, but unofficially as staff research programmer. In that time I've also had two interviews at Google, but not an actual offer. As it is I've put down some roots and probably would not have been able to take the job anyways. House + wife w/ very well paying job, etc. It's been about three years, and my honest assessment is that I've learned a ton more, but I really need more of a peer group to maintain or accelerate my growth. The problem is, whenever I look, most job listings have requirements that seem impossibly grandiose and I hesitate to apply. That, or the job/project seems incredibly dull.
I suspect that either most people are just a lot less realistic than I am when it comes to assessing how long it will take for them to get up to speed, or they don't care; my fear is that I'm just woefully unqualified for any interesting, well paying developer work. IE: I'm confident I could switch fully back into C++ mode with a couple weeks work (I mostly use C,Python,C# daily) but I don't list myself as being 'proficient' in C++ on my CV, or applying for jobs that 'require' such knowledge. The few applications for which I did feel I was a legitimately good match have not elicited a response.
I suspect the following things are potential problems with my application/CV and I would like feedback:
I don't have a CS degree. My BS was in biochemistry and molecular biology, my PhD in biophysics. I took undergrad and grad level algorithms courses and completely killed them, but I don't know how to translate that to my CV effectively (the difference between getting an A+, and smoking everyone else in the class).
I have a PhD, but it's not in CS... I've been debating if I should remove it from my CV, and wether or not it would then be misleading to list at least some of those years as some kind of 'programming' job (in many respects it was).
I think there are sometimes strong stigmas associated with 'self-taught' programmers. I am certainly one of those. I even recognize that some of those stigmas hold a hint of truth, but I really do want to be an asset to a team. How do I communicate that even though I have been largely self-directing for ~8 years I can still take marching orders when needed? Do I just say so outright?
Should I just become a lot less scrupulous about the whole process? anecdote: I have a friend who applied for positions where he completely fudged his qualifications to get past the first culling. He was much more honest and forthcoming about his actual qualifications when contacted and he still managed to get invited to a couple of interviews and even got some offers. His balls are larger than mine though.