First of all, don't give up. A lot of the advise here is good but I will give you my standard advise. I use it myself.

The bad: I have been developing software for more than 20 years professionally (I'm not young, nor cool). I went to school to be a lawyer (a horrible idea, don't do that!) and do not have a computer science degree. I am not a 10x developer. I have a family who I love very much and enjoy spending time with so I do not work 80 hours a week, ever. I stink at whiteboarding and get really nervous when I am up there. I have a muscle disorder and have a very noticeable tremor when my blood pressure goes up (ie, when whiteboarding a stupid problem in front of a group of people who are obviously trying to stump me).

The good: I am constantly employed! I change jobs, get contracts, and do very well for my family. I have had the opportunity to build up and sell technical businesses. I enjoy helping other engineers get jobs! I am not nervous about being laid off or unemployment.

Why?: I have a process for finding work which, well, works. When people say "there aren't enough software engineers!" they are right. This is a really good thing for you! But remember, not every fit is good for you. Finding work is your job right now so do it every day and have a plan. My plan is always this: find 5 new positions to apply to every day. Make minor modifications to my resume to help tailor it to those 5 specific positions, in order to help the hiring manager know they should look at me specifically. Keep an organized copy of all my resumes, notes on when and how I applied, and notes on which companies follow up with me. After I send out my 5 resumes, I call all of the recruits I know from each recruitment company I work with (not working with a recruiter? Why not?! Not working with 5 recruiters? Why not?! Not calling and bugging the hell out of these recruiters daily? Why not?!). Next, I follow up with each hiring manager of a company that has shown interest in me. This is a bit different than bothering recruiters (recruiters get paid a commission for finding you work, hiring managers are a bit different). If I haven't heard from someone in a few days I will follow up to find out "next steps".

Obviously, this leads to interviews. During interviews I always ask for next steps. If it is an initial phone screening I always say "I really enjoyed talking to you. When can we schedule a time for me to come in and meet for the next phase? Would <two days> from now work, or maybe <three days>." Sell yourself. Give options and get them to take one. Keep notes on the results. During in person interviews (and often phone screenings), ask what the process is to get to an offer. They will ask "Do you have any questions for us?" "Yes! I am really excited about <company>. What is the rest of the interview process before we get to an offer?" Take notes on this. Make sure they know you are interested in an offer.

When I first started using this method, I found about a 20% rate of interview on submission. So, if I submitted 5 resumes a day, I would get an interview for 1 of them. After refining my methods and talking points a bit I actually get about a 40% interview rate. Taking notes really helps with this. That's 10 interviews a week. Obviously not all of these will result in offers. But I have about a 20% rate of offers on interviews. So if I put out 25 resumes a week I can expect 2 offers from those companies, on average. Don't let up on the pipeline until you have the offer you want to accept in your hand. Always put out 5 resumes a day and call recruiters.

One last note about the dreaded whiteboarding. Notice how I say above that if I put out 25 resumes I get 40% rate of interview and 20% of that give an offer? Well out of 10 interviews a week I might get about 50% which want whiteboarding. Of course, I get 50% who don't! It's all a numbers game. I ignore the companies I fail at and focus on my successes.

Generally, with this plan, I often get the offer I am going to accept in my hand within about 3 weeks. It is often from the companies I apply for in week 1. But I never let off that gas until the offer is accepted.

If this seems like a lot of work, it is! But the rewards are very high. Never forget that.