So two weeks ago I finally got a job.
I studied Computer Engineering and Electrical Engineering (never finished the later). I used to work on an really interesting project (3D graphics, real time, etc) but unfortunately that was cancelled last year. I worked 5 years on that, did some other stuff, part-time, before that.
I applied to about 10 different jobs, all asking for qualified and experienced software engineers. I wanted to get a job as Embedded Software Engineer. I programmed a lot of C++, but I have limited hardware/microcontroller experience. All letters and CV's were carefully composed. I could afford to take some time to do this.
So out of those ~10, I was invited to 5:
1. Awkward interview, they didn't want me and I didn't really want them
2. They liked me, but didn't think I had enough hardware experience
3. They wanted me, but pay, commute and job description were all kinda shitty
4. They liked me a lot, but didn't think I had enough hardware experience
The job market in my region is a bit poor, there weren't that many openings to begin with, I probably had to move if I wanted an Embedded job.
5. So eventually I talked to a company that does Java EE. Even though I haven't touched the language in 5+ years, they wanted to hire me as a Senior. They figured it would only take a few months for me to get up to speed again. Their project is pretty cool. But what really sealed the deal for me were the people, everyone I talked to was really nice and laid back.
Some other people I talked to were total assholes. I briefly considered walking out on interview #4. I guess I managed to hide my irritation well.
Overall, I found the whole job-searching experience highly stressful and sometimes utterly bizarre. That's coming from someone who has a popular degree, a fair amount of experience and generally does well in interviews. I can only imagine how hard it must be out there to someone who has none of those, but would otherwise be a good worker. Good luck out there, the market is brutal.