2 people I know and I are in the process of looking for new jobs.
My first friend is almost 20 years my junior, but a fantastic coder. He is someone that every company would want. He's smart, curious, has initiative, and has a lot of wisdom behind the way he codes despite his youth. He's fluent in Java, Scala, Python and has built everything from simple web services to entire parsing engines and he does it because he's genuinely interested in the work he does.
My other friend is 10 years my junior, but also great. He's an official Apache committer, and has worked on some really great projects for some well-known companies. He also has worked on a lot of side projects that got picked up by his employers in various forms and he works his butt off every day.
My two friends are people that any company would be lucky to have. But all three of us are very reluctant to start interviewing because we all know how much interviewing really really SUCKS. Basically we are forced to write whiteboard code for 4-5 hours on topics that we may or may not know. If we don't know it, we're fucked and we might as well give up because everyone appears to want perfection. But the range of questions we can be asked on an interview is so wide, you can't expect someone to know EVERYTHING.
It seems to me that interviewing in Silicon Valley is really broken if my friends are reluctant to start interviewing, despite how great they are and how much of an asset they would be to ANY company.
Is there a site besides glassdoor that details or rates a company's interview process? It would be sad if we all end up choosing companies based on their interview process, but it's a lot better than wasting our time and PTO days going for interviews and then getting blown out of the water because one interviewer wants us to code a particular dynamic programming question the way they are picturing in their head.
As you have pointed out the dynamic of interviews sucks. A potential employer will be seeing dozens of people for a position and comparing you to all of them. You will be talking on a topic decided by the employer which you may or may not know anything about.
Giving technical presentations inverts this dynamic beautifully. Instead of one position and many candidates, there is one of you and potentially dozens of people in the room looking to hire. Instead of doing white board problems in a domain you may not know about, you will be talking on a topic that you KNOW MORE ABOUT than anybody else in the room! Instead of speaking off the cuff in an interview, you can polish your presentation for weeks in advance.
I am a freelancer. Every time I have done a technical presentation at a users group I have picked up at least one job out of it. Many of the people at the users group are looking for employees. They are always disappointed to find out I'm not looking for a full time position.