My interests tend towards the more academic side of CS - parsers, type theory, programming languages and so on. So I'm wondering how difficult it would be to transition into the academic career path.
Has anyone done it, or know how it might go from personal experience? What would be the actual steps involved?
The UK and Scandinavian markets are quite straightforward and will not have any weird language requirements. The Netherlands and Ireland are also worth considering. A minor problem, if you want to progress in the academic ladder, might be the lack of a doctoral degree. But you may get one while working there. Or simply climb via seniority, which is also a decent option.
In the US, I think the market is a bit more competitive, especially at R1 institutions.
Happy to provide more advice via email.
I work as a programmer at an academic/research institution. But the job is just normal IT and light programming. I think finding a role similar to mine would be easy for you. Your MIT math undergrad will probably be more than enough credential signaling for that type of job to go along with your professional experience.
My path back to this environment for work goes roughly: earned MS in CS directly after BS in CS, two longer tenure jobs in industry (8-ish+ years total) after grad school, returned to academic/research institution because of personal network and also having skills needed for new role at institution. I have been here for 10+ years. Much of that time it seems like my earnings were at least 20% less than market rate for my region. But the pace of the job was easy and many people "settle in" to these jobs.
There is some autonomy here and a little room to stretch your day-to-day work to fit personal interests. But much less than you may expect. The work environment is not THAT different than industry and I personally have found that it is oddly more political here than expected with respect to who gets to do what work. I have been able to be involved more directly with researchers as a "side gig" when my day-to-day job responsibilities allowed. I probably would have left this role but personal+family responsibilities made the flexibility of the job hard to move on from. I am also in an unusual position wrt to funding - our group is heavily funded by hard money, so we are significantly less dependent on grants than even some research/teaching staff at my institution.
Your academic interests are probably going to be hard to fit in - those are "pure-ish" CS topics. I know some PhD applied math guys who do research computing support and their roles are often limited to helping with existing libraries with users of a research compute cluster. They aren't doing much applied math . . .
Are you willing to pull an extra stint of time in grad school for a MS or PhD? Joining a good research team and publishing with them could build up your CV for the academic job market. It isn't super critical unless you want to be research faculty somewhere . . . Some CS programs have a "professor of the practice" job role that could be attractive but it usually involves significant entry-level teaching requirements.
Not sure if any of this is helpful. Good luck figuring it out.