I interview any time a recruiter brings something interesting and with a 10% salary bump. I used to get super stressed out and as I kept interviewing it got better. I thought I failed so many interviews, often said I don't know what that is...etc...always super honest about my abilities. Out of 10 or so interviews I was presented with an offer 9 times. I am not a rockstar, no github till recent.
A good company will most likely have a decent onboard process. You will have access to learning resources. You often are not expected to contribute for a while. Unless you are a perfect match for the position, otherwise you will have to pick up the stack. The hiring company knows this, if you are good java dev, chances are you can pick up c# quickly and someone might take a chance.
Don't wait till you are fired. Right now, when you receive an offer you 'appear' to have an upper hand in negotiations. The interested company doesn't know your company is not treating you well. You are just looking for a change etc., don't say anything negative about current company.
Look for remote jobs, send out your resume non-stop.
Being worried about getting fired because you are looking is insane. Companies generally won't contact your current employer without a heads up.
I can't even explain all the issues as it would be come a book. The condensed version (if you can believe it) is that I thought the company was good in the beginning, but the policies on paper were not the policies that they followed. I became an intermediate developer. Then I was picked for a development needed rating because I was the most junior person and you have to pick a low rating to balance out a higher rating for someone else. Then I filled the role of tech lead for a year and then senior developer the next. I didn't get a raise, promotion, or even the high rating. I was told by my team manager the year I was a tech lead that she wanted to give me the highest rating but politics prevented it. The year I was a senior developer they told me that if I wanted a promotion I would have to take a 13% increase in hours for a 7% raise - a rate cut. This is not consistent with the written policy. Then my manager said he was going to give me the highest rating that year but didn't because he thought I slacked off one month - the month I was on PTO for 2.5 weeks for my wedding and honeymoon and put in extra hours the other weeks to get stuff done. Then this obsure technology that I spent over 5 years becoming an expert on was outsourced, which when I was hired they said they don't do (and some political stuff behind the scenes forced a team switch). They also said they don't lay people off, and now they do that too.
I had to switch to another obscure technology. The hiring manager literally said she couldn't believe any internal people would actually apply to the position - big red flag, but I had no other options. The good news is they gave me a market adjustment in salary that was bigger than the raise I asked for on the prior team, which means I had been underpaid by about 10% for at least a couple years. The first year they were amazed with me quickly getting certifications, learning the new system, etc. The second year they gave me a very small bonus, which is bad news under a pay for performance structure. They gave me an average overall rating but a needs improvement for leadership. Now I am only an intermediate developer, but I was filling the ASC role along with my regular role. The ASC role is supposed to be for senior developers or higher, and I was getting excellent feedback in that role. The feedback my manager gave me is that I'm too slow in my developer role. Basically, they were point counting in that department even though the official policy doesn't allow it. When I left this team, my coworkers couldn't believe that I was only an intermediate and was basically forced to take a lateral (can't get promoted with a lower leadership score). This included a few tech leads from across the two departments and six teams that I worked with as an ASC. I found out they were cutting the budget in half, so I guess they wanted to push out the newer people so they could keep the more experienced ones.
Now I'm on a boring team and again being told I'm slow. That definitely makes things stressful since my wife and kid have both developed medical issues of the past year. Plus there's no growth opportunity on this team due to the constant context switching and the politics. I'm not the only one who noticed this since we had about 25% of the team leave for other opportunities. I'm close to it as well. Of course I got an off-track rating at mid year so now I have to try to get back to a good rating by year end so that another team will take me.
So for years I have been screwed over, hate my job, been bored, and am just miserable. With my experience in obscure tech and the medical needs of my family, I'm too much of a chickenshit to switch companies. I'll just wait until I get fired.