I graduated with my C.S. degree in the summer of 2000. It was still during the dotcom crash. So, I had student loan debt, and the places that I applied at had their choice of "recent graduate with no experience" and "every other programmer in the area with experience who had lost their job".
Mind you, I'm on the completely other side of the country from Silicon Valley, but there were _not_ a lot of entry-level programmer positions open around here in 2000.
So, I ended up getting a retail job (thanks to a friend of mine) a few blocks from where I lived. I thought I'd work it for a few months, continue to put out resumes, and I'd find something.
Except that didn't happen. Every place I sent my resume to either never responded, or they'd "let me know" and then never get back in touch. It didn't help the the university I had graduated from was continuing to graduate C.S. students at a good rate, not warning them at all that "hey, it might be difficult to find a job". (Their job placement assistance service SUCKED at the time.)
I ended up getting stuck in a rut. It was remarkably easy to 'just get by' on what I made working retail. I didn't have a car, so no car-based expenses, but it also limited where I could go for interviews. The job itself was generally boring as hell, but I worked the graveyard shift, so there were nights where I had no customers, but had to keep the store open anyway.
Like I said, I got stuck in a rut. It took complaining about retail customers one too many times to a friend of mine before he asked me if I wanted to try to get a job where he worked. I told him "I can't do sales" (I knew where he worked.) and he said, "No, as a programmer."
And I've been at that company for 4 1/2 years. It's had its ups and downs here, but it's still miles better than working retail, especially during the Christmas season.