Here is the problem with the job market in SF Tech.

As a developer we get plenty of emails, and when we finally go through the work of finding a good job we probably put more on the table than most business dev people do. We are asked to work late when the project was miss planned or miss communicated to customers, when the thing breaks for some random reason, we are there to fix it. So at some point we feel like it's a part of us.

On the flipside while companies are trying to recruit they don't want to talk about the details of the app and what they really need done because they don't want to scare you off. So you go through this dance, and it kinda starts like this.

Some recruiter sees in their linkedin network that a job posts. If they are whiley they might find the job listing on a particular site. They don't have any relationship with the company or with you but they want to broker the deal and get %25 of your yearly salary so they are willing to work for it. All the while the recruiter is trying to get information out of both sides without a contract and with out all of the information. They don't know how much the job will offer until they have a few good candidates to show, and to start a dialog with the company. On the other side of the table they are trying to figure out what it will take for you to leave what you are doing so they ask weird questions that have hardly anything to do with what you care about, but are solely related to things they understand.

Once you get far enough along in that dance, you'll go for an onsite where the interviewer is either an engineer or a hiring manager. In SF, no one has any time, so the interviewee is just not that important until they are actually hired. This is the first thing I look for.

Does the hiring company actually care about me?

In many cases you are just someone else to interview. Some companies like to interview a whole lot of people and then select the best. This is a long drawn out process and usually involves some metrics on the back end. Positions that are open longer are more likely to hire.

Once you get past the personality screen then they give you a technical task/ interview. Some companies ask tough computer science questions that have long been lost by people who actually do the work. Others ask tech gotchas that you would normally look up on google if you were stuck. And some actually get you to work on something related to the actual position you are interviewing for.

Now once you get through all of that, now they need to close you. At this point they need to work a number. Back in the old days companies would work out a number and then do something nice just to make you feel really welcome. In SV this is much less so the case. Many people are very analytical and hardly have social skills so it becomes all about the numbers.

At this point as an engineer you would like to know how well the company is doing, but you can't quite ask the hard questions without seeming skeptical as this might affect your offer. On the flip side the company making the offer wants to get you as affordably as they can and they don't want you to take some other offer.

At the end of the day, the offering company will make an offer and put a time limit on it. ( as for some reason why they would rather have you make a brash decision about the next 3 years of your life, i don't get ) And then you look at the numbers and you either counter or don't. Many companies out here have been hard pressed to negotiate for the following reasons.

* the cap table is already set
* the salary is fair, and we are a startup and that's what we can offer
* we don't offer bonuses

It's odd, because they are willing to pay a recruiter $20,000 to find you, but they don't want to actually give a little extra to the engineering staff.

Some companies wont even accept resumes from recruiters, but then you are missing out on all of the talent that get's talked into submitting a resume and has not had the time to search on their own.

I just wish companies talked more about the real issues and were more open and honest about things. I think that if you start with honesty, and expect honesty you have a much better chance of getting it back from your future employee and confident.

I forgot to mention that each of these dances might take an engineer 10-20 hours per company to full evaluate them. It's not a small amount of work to interview.