I'm in NYC which I think has similar demographics to SF in this regard; I found my job in August of last year, after about five months of searching, and I found it because a friend of mine referred me. It's a good job, and I like it, I'm grateful for that friend.
Regardless, it's not like that was the only job I applied to. I had a policy of applying to at least ten jobs a day, so I applied to about ~1500 jobs, and literally all of them rejected me except for the one I have right now. I had about twenty other interviews (edit: 15, checked my calendar from last year), a few that got to late stages, and they didn't pan out [1].
I psychotically save money so I wasn't worried in any kind of existential sense, I could survive for years if I needed, but man I would have killed to be in a situation where I even had the opportunity to bail on an offer.
This has been the worst economy for software engineers I've seen in my ~15 year career. I am slightly optimistic that it will improve eventually but I suspect "eventually" might mean several more years.
[1] And one at a one of the world's largest bank (that my lawyer/mom has advised me not to name publicly) where my interviewers were potentially the most incompetent people I have ever talked to and who didn't seem to know what an atomic was in Java, and "corrected" my counter code with a mutex. And I put "corrected" in quotes, because what they corrected it to would deadlock. Morons.