On paper, I am a mathematics graduate. I have a masters of science and most of my graduate schooling experience is in numerical mathematics and physics simulations. I have a decent idea of parallel programming, decent experience in HPC, and have worked with C++, MPI and CUDA before. However, roles with this kind of skill set are quite rare, typically only hire senior people with many years of experience and often require a PhD and/or domain experience in some other STEM field.
Although I am a mathematics graduate, my 1+ YOE on the job was spent in an academic institutions being basically an ML Engineer so most of my recent on the job experience is in training PyTorch models on HPC clusters. I have some decent experience with PyTorch, including DDP and TP setups and even so far as writing some custom CUDA kernels for some models. However, unfortunately I was never working with LLM or CV. And in industry those two sub-fields seem to be what is in demand.
Finally I am considering aiming for a generic SWE position at FAANG. Those seem to generally pay more than the above two niches. Although I don't think I would enjoy the work as much. The downside is that so far I have spent 0 hours doing leetcode and I have lots of catching up to do.
I would really appreciate some advice, because I am paralyzed by choice and have no real clue what my chances are in any of the above choices.