I see this being repeated over and over but I can't help but think that it's become a way to discourage giving employees time off from a company's perspective. I've successfully taken 30+ days off in an unlimited vacation environment (not consecutively) and not been reprimanded in any way because I was able to operate responsibly. Before I left for any length of vacation, I made sure that projects were delivered and successfully launched weeks before hand and I created documentation and trained others on continuing work processes (the lack of my presences should not have ANY impact).
"Unlimited vacation" should be a work perk that is attractive. Often times I find that it's the managers who don't believe employees should be given time off or the company decides to just implement unlimited vacation without any process in place to revoke the privilege or guidelines as to what a responsible policy looks like. It's easy to say something doesn't work when there was never any intention or effort to make it work.
I know the bigger point you're making, but it has dawned on me recently that life after school is always about passing the test. Every interview that I've faced has required me to study in order to pass the test to get in.
This won't be advice on where to go career wise but some tips I can offer since I recently just wrapped up the interview circuit and my background is very similar to yours.
As much as you don't like leetcode, doing those exercises is effective and meaningful. I understand where you're coming from - I also lack the classical CS background that a company would find in a CS graduate. Leetcode questions might seem like they're very theoretical and unpleasant but a lot of those questions focus on the standard algorithms and data structures (stack, queue, hash map, linked lists, trees) - some of which has opened my eyes to solving some problems efficiently that I face at my job. Heck, some of those I've already been using but never knew/used the right term for it! For a long time I hated the idea of Leetcode too and I avoided doing it because I would have to conform to a broken interview process where I felt like I had the experience to make up for that missing CS knowledge. This was arrogant of me and wasn't working so I tried to adapt.
Like another commenter said, you can't control the BS interview, BUT here are some things that I did which helped me, and I hope you find some of them useful:
1) Learning the standard data structures and algorithms, and doing 2-3 leetcode type problems a day at varying difficulties helped me gain confidence in answering those types of questions and at least being able to get through the more basic technical interviews. Pair program with a friend to try and solve the harder ones together so you can get used to the live remote coding interview style and keep each other motivated.
2) Studying up on system design helped me to prepare for the harder technical interviews where they ask you "how would you build Instagram" on a whiteboard.
3) I went the engineering management track. This also varies wildly between companies but ideally this type of role gives you 50/50 hands on/management type work. I had to study up on the behavioral questions, prep responses to those "was there/tell me a time where..." type questions and put my management style into words.
4) I always ask the initial phone screen person about the interview process in detail just to know for myself what to expect and how I can study appropriately. If they're not clear about it or they're vague about it, I lose confidence in that company because I will likely fail somewhere along the way. I've been to an interview where the company uses Python, which I didn't know at the time and they told me not to worry because they only want to see that I know the basics - when I got to the interview, they asked me to build Minesweeper and asked me to build Blackjack on the whiteboard. I was unprepared and so I failed that.
5) Even after landing a job, keeping up with the Leetcode exercises to keep that stuff fresh. Never forget how long it takes to ramp up again after not doing it for a while.
6) Practicing to think quickly on your feet. Basically if you don't know an answer to a question or you can't answer it for whatever reason, highlight something good to balance it out and recover from the stumble.
I see this being repeated over and over but I can't help but think that it's become a way to discourage giving employees time off from a company's perspective. I've successfully taken 30+ days off in an unlimited vacation environment (not consecutively) and not been reprimanded in any way because I was able to operate responsibly. Before I left for any length of vacation, I made sure that projects were delivered and successfully launched weeks before hand and I created documentation and trained others on continuing work processes (the lack of my presences should not have ANY impact).
"Unlimited vacation" should be a work perk that is attractive. Often times I find that it's the managers who don't believe employees should be given time off or the company decides to just implement unlimited vacation without any process in place to revoke the privilege or guidelines as to what a responsible policy looks like. It's easy to say something doesn't work when there was never any intention or effort to make it work.
Just my 2 cents.