I feel like I'm stuck in a rut. Would appreciate advice from fellow HNers. This is a bit of a long post so I apologize in advance.
I used to work as a professional coder in Telecom. Then went to grad school and have a somewhat successful career as a CS researcher (at an industry lab). I've come to realize that this is not what I wanted in life. I've looked into startups for a while (had wanted to do one since I was a kid). However, I can't make the math work/have a hard time differentiating between hardcore techies and posers (heck ... some days I wonder if I am a poser :[ ). I applied to YC and did not get in. I subsequently realized the rejection was a good thing ... my idea was too far out ... not likely to generate something sustainable within a year. Right now, I'm contemplating interviewing for a strong tech company (ala Google or Facebook). Even though coding feels more natural than English, I'm doubtful I can get past the interviews (have been rejected by both once before after several rounds ... i.e. I've been told I'm on the fence). The issue is that I code less than 30% of my time at work ... typical research work (writing papers, discussions, prototyping, etc.). Improving my skills at my current job isn't working ... too low density, and too many people who seem to be coasting for multiple decades :(
Sorry for the long rambling description of my situation. Here are two concrete questions.
1) For someone in my position (PhD, research background), can you recommend a good established strong-tech company (ala Google/Facebook)? I'm mainly interested in the Silicon Valley. A place where I can take my craft as a programmer to the next level?
2) As an intermediate coder, how do I reach the level of an expert craftsman?
Thank you for your advice.