> Yet there are companies out there rejecting me for job descriptions which are only 50% of my skill set because I couldn’t code this obscure hard algorithms problem in 45 mins
This is usually an odd thing that happens when you accidentally interview yourself a level below - there's a definite "I made a trade-off to do something else" that you hit at the boundary of senior+ engineer.
I interviewed at a FAANG recently where they asked me when I committed my last patch. Not "when did you review a patch", but had to skip over all the +1s and to a patch I had authored.
I knew immediately that the interviewer didn't care about whether I could talk to customers or get other teams to do dependency features or even if I could balance a tech-debt vs velocity decision.
I knew I had missed on my leveling, because I didn't get worse at algorithms or writing patches because I couldn't, but because I was doing something else more relevant to shipping software in my organization.
The next job conversation, I was interviewing for a Sr Principal and the VP I talked to could see how they could use the last 3 years of my "optimizing for results" better than the engineer who couldn't understand why I was doing management tasks as an IC & why that meant I didn't write patches, that I got them in into the releases in the right order across teams.
They're rejecting you because you aren't a match for the job they have at hand.
You should see mismatches as time saved on your part, not as rejections.