I switched jobs very recently. I landed my current one through a friend who was pushing me hard to join his company for well over a year. This needs a bit of a background story: I landed my old job the regular way and with a bit of deception on the company's part(I'll get to that). I applied the regular way, then got a call from the HR. The HR - awesome guy, very friendly and kind, the experience with him couldn't have been any better-solid 10/10. Even though I quit and in a somewhat stormy way, I did tell him that beyond him, I can't say I really connected with anyone in the company. Back to the point - the rest of the process - regular tech interview or two and I was in. The problems however started really early on - as early as the "meet the team" call before joining. As much as I liked the HR and the manager of my team, there were a few people on the team that I was very skeptical about from the moment they opened their mouths. But you know, benefit of a doubt and all that. 2 months in, it was becoming pretty clear that my skepticism had a solid foundation - arrogance, talking behind people's backs on daily basis, doing whatever they though was "right", all while my manager, as much as I liked him as a person, turned a blind eye and completely ignored it. Each time a concern was raised about something and someone said "I don't understand how this is a problem" it was met by "alright, let's not take time from everyone and we'll discuss it later" from the manager, which was his way of sweeping potential conflicts under the rug - those concerns/issues were never addressed. Ultimately it became clear that many people in the company are aware of this but it's easier to kick the can down the road and hope things get resolved on their own, than to address them immediately, even if there is a price to pay. The second big issue is that I was dragged in as a rust developer. And on day one, a handful of golang projects were thrown at me and somehow the rust part was never mentioned again. Go would never be my first choice, and I've said horrible things about it in the past(and I still stand by them) but I'd be fine with it if people are upfront about it. It's really disappointing to do a technical challenge in rust and a cool challenge at that and then be thrown into stuff that you can't help but hate with a passion(this is the deception part I was talking about).

To my current job-as I said, a friend recommended me and the only question I had was "are the people cool?". His response said everything I needed to hear: "Mate, I'm older than you - I'm approaching 40. On top of that my fuse is much shorter than yours. I'm here and I'm happy to be here - isn't that clear enough for you"? I really can't argue with any of that. And he is right. For the first time in more than a year I'm happy to be going to work every day. People are cool, the work and domain are interesting and insanely cool. And I can already tell that I'll have friends for life here once they find out some things about me.

My point is that, sure, finding new jobs these days is harder than it used to be 3-4 years ago, where you'd apply to 5 jobs and your phone would catch fire in the next 40 minutes. At this point you should be prepared to wait it out for a month or two, which, if you played it safe, shouldn't be a massive problem. The point I'm making with my example is that if you can afford it, you'd be much better off taking a month or two off and be careful about the jobs you apply to, than jump into something head on and end up regretting it soon after-EXACTLY THE WAY I DID. And you could use the time to work on some personal projects which might take you to an entirely different place.

Another thing is the rejection/ghosting: most companies rely heavily on HRs to filter out candidates. And in my experience, HRs have been horrible at it. It has gone as far as an old manager of mine and me having a fight with HR to send us the CVs directly to us as opposed to her going over them because she decided that someone is unfit for the job. Ultimately she sent us all the CVs of the people she was about to reject and out of those we found 2 of the best people I've ever worked with. Currently there's a lot of supply of CV's and with layoffs from big companies+people coming out of the countless online courses, and smaller companies being cautious about the economic state as a whole, and subsequently HRs are doing an even worse job than before. There is still a lot of demand for developers but most HRs are not the people that should be reviewing CVs. Which is a problem - in most cases developers/team leads don't have the time to go through 20 CVs a day. Even at my old job where I had to do tech interviews, doing one or two a week was a massive issue - the interviews take an hour or so but add the time you take to go through someone's CV, look at the tech test they did and prepare questions - that's easily 4-5 hours of your day. Now imagine having to go over 20 CVs. Do 3 of those in a week and you start to see the problem. Hence the reason this is commonly outsourced to HR. These days academic credentials are not taken much into account(ironically this is my first job where they asked me for a copy of my diploma), so what HRs do is scroll through your experience, tick off a few mental boxes like experience in companies they know/don't know and how much and... I don't know... Do you look like someone they'd like perhaps? Beats me. Point is, they get dozens of applications on daily basis and regardless of who you are, chances are they never looked too deep into your CV and just clicked on "reject". Is there a solution to this? No idea honestly.