I am starting my undergraduate studies this autumn in mathematics. I wish to pursue mathematics further and land on an academic position, but since I do realize the fact that these positions are extremely competitive to get, I am considering to become a software engineer. I won't have concerns in getting a job if I choose to rather get a masters degree in computer science, but if I do get a doctorate in mathematics, I won't have the foundation for computer science, (OS, data structures, algorithms, etc) and if I were to take those courses, our school makes me to pay extra tuition that is twice as expensive as a regular course. But I have heard of some people who got a software engineering job with a degree in mathematics and seen job postings that accept a degree in mathematics. If that is the case, if I have a decade of experience in c++ programming, (since it will take more than 10 years to get a doctorate) but know next to nothing about operating systems, data structures, or algorithms, do I still can get a decent software engineering job? Or what else should I know? What skills will behoove me to get a software engineering job?