That's good context. And to OP's point,
> I have been in the field for a few years...this field has never been my passion, just a profession I like.
I've been programming professionally for 10+ years, 20+ when you add in college and what I did growing up. That, and computers are a hobby of mine, and I definitely have a passion for them, and I know a lot of stuff beyond my day-to-day work. I've worked for multiple FAANGs, at other big name's you'd recognize, and startups you wouldn't. I get past phone screens probably 80%-90% of the time and get offers 33%-50% of the time.
There are a lot of people like me in the industry. We're not a majority, but it's hard to compete with us, it's not helpful to compare yourself to us, but it's hard because that's what interviewers compare you against.
> Apply for jobs that don’t require algorithmic/systems interview tests.
Yup. Companies also go easier on system design when someone has ~4 years of experience.
> Crack the coding interview
I can't remember which one of these I skimmed, but I didn't find any of it super helpful. I might be the wrong audience.
> competitive programming sites
Not the "competitive" ones, but if you haven't done 50 medium questions with some easy ones thrown in on HackerRank before doing a round of interviews, you haven't prepared. I'd actually avoid the hard questions because they usually involve a twist on one particular algorithm that will take a while to implement, so you'd never actually see it in an interview.
The important thing is to know your way around heaps, trees, tries, linked lists, graphs, etc.
I found this book helpful, but I read it specifically because I'm better at coding than algorithms. It's not great for knowing how to combine standard data structures to solve problems or how to traverse a tree.
http://mimoza.marmara.edu.tr/~msakalli/cse706_12/SkienaTheAl...