Knowing math and programming is important, knowing finance isn't.
The friends I have who have a degree in mathematical finance say that the finance portion of their degree was quite useless and only very weakly correlated with how 'finance' worked day to day at their job. Basically they learnt everything they had to know about finance on the job. The optimization and statistics they studied on the other hand is stuff they use every day, and if they could go back and do it again they would study less finance and more math at university.
I think the best way to get a tech job in finance is to live in a city where finance is a big industry (New York, Boston, Chicago, London). If you punch "C++" into Indeed for Chicago, IL, half the listings that come back are for positions at trading companies.
I apears that Algorithm trading Firms are slowly moving to SF/Silicon Valley. I see some postings for SF-jobs in this domain. May be they want to use the software talent in this area.
You mainly just need to be a good C++ programmer to get a job. To get a job where you aren't just a C++ programming resource you need the advanced degree, advanced math, previous experience, etc.
But to get one, you need to have worked through a lot of books already, right? Job descriptions of this field look to me like: PhD in math finance and senior programming skills.