Ask HN: For advice: I'm a mathematician looking for a plan B outside of academia

34 points by ginnungagap ↗ HN
I'm a maths postdoc whose position will end in December 2026, and while I love doing research I want to make sure I'll be employable outside of academia in an intellectually stimulating job just in case. I work in an extremely pure area of maths with no real world applicability, so I want to learn something more useful on the side in the three years I have available. I have some basic programming experience in a few languages, but I never worked on a big programming project and I have no knowledge of what is required in the job market. There are three main things I find interesting in the compsci/software ingeenering world:

- low level stuff and assembly: this used to be a passion of mine in high school, but after I stopped after entering uni do to maths a few years back, I'd like to get back into it, but it seems of dubious usefulness when it comes to finding a job.

- combinatorial optimization: it is mathematically heavy, full of interesting problems and something that I'd like to know more about (I took a course during my masters), but again I'm not sure how requested this kind of knowledge is job wise.

- blender/3D modelling: this is an hobby I've been into for some time, I very much enjoy it as an artistic output (my artistic skills in traditional mediums are nonexisting) but I'm not sure I'd like to turn it into a job.

Because of ethical reasons I want to stay as far away as possible from anything that is insurance, finance or crypto related. I'm not really interested in AI and/or machine learning either.

If you moved from academia to industry and want to tell me about it, or if you have any kind of advice that might be useful I'd be very happy to hear it. Thanks in advance!

78 comments

[ 2.9 ms ] story [ 116 ms ] thread
Apply to companies having deep R&D programs, they all need maths: 3d rendering algorithms research, energy sector, etc.
> 3d rendering algorithms research

My guess is those jobs either go to PhDs in graphics programming, or people with extensive (and impressive) practical experience.

Yeah, in my experience, all those "interesting but practical fields" have plenty of people with experience in exactly that field, be it academic researchers, or more practically oriented people. They don't need some random mathematician that still has to learn everything.
Government: Working for a national lab is very similar to working for a research college without the coursework. There are frequent (as in weekly) technical lectures across a vast array of areas. Lots of work for someone with math+applications interests. Including work for NASA, LHC, astronomy, etc. You can literally walk up and talk to them after the lecture ie if you think there’s a collaboration possible it’s possible.

Similar is probably true at contractors like Lockheed Martin, etc.

In my experience, the trouble can be in picking places that won't see you as too qualified/"why would you work here?"

Maybe project management or stuff in logistics might be complicated enough to interest you.

Pick up some IT background with stuff like containers, linux, etc. Usual stuff to aim for to get into the big techs. I'm hoping Microsoft, apple, etc still have filesystems devs.

Make some expository type videos ala the famous YTers. This ca/should mirror your current academic work.

> In my experience, the trouble can be in picking places that won't see you as too qualified/"why would you work here?"

This probably isn't an issue going from math research -> industry. Most folks (at least in the areas I work in) will look at the math background as a huge plus and will assume the answer to "why would you work here?" is "I don't want to starve." and consider that a win.

Varies widely on person/manager/industry.
1. study for 6 months to get google cloud professional data engineer cert or AWS Certified Cloud Practitioner.

2. Fend off $250k+ offers

Where can one "study" to get these certs?
Google Cloud, AWS, and Azure have courses online to prepare for certifications. See their corresponding websites.
Could anyone (technically oriented) do this for real or are there unspoken education/economic prerequisites?
Yep. Pigs also need just a few steps to fly. It’s a Herculean task trying to teach an academic to code well if they weren’t already coding well. This is first hand knowledge going through the insight data science program for phds and seeing most colleagues struggle and never truly embrace software development.

You still can get a 250k offer in a good job market but not sure about now.

What did you see your colleagues struggle most with?
Coding is not a skill anyone can just pick up, from what I’ve seen. Going through academia doesn’t skew that probability either. Thus most academics struggle getting to understand coding the same way normal people do.
> It’s a Herculean task trying to teach an academic to code well if they weren’t already coding well.

Code. Test. Optimise.

Thats why fuzzers are important for testing, they brute force stupidity so the users dont have to.

Is the AWS Certified Cloud Tech job market really that hot? I could probably get that cert but I figured no one would care.
I also always had a fascination for low level stuff and assembly, and I ended up moving into compiler and language development, which made me happy because there's still a lot of math-y stuff going on: the algorithms in compiler transforms, formal specifications of languages, and so on.

I can't really give you advice on how to make the transition. The way it happened for me is that I participated heavily in open-source projects at the end of high school / during undergrad and made some personal connections that way which ended up leading to a remote job long before covid...

Thanks for your comment! Compiler development does sound like a very interesting area, do you have a textbook or online lectures to recommend to get started?
Unfortunately, no. The textbooks that I have looked into have not been convincing, since they tend to be overly focused on the parsing and syntax aspects, which is IMHO not where the really interesting stuff happens. (It might help if you've never had any CS exposure at all, but I did get exposed to a bunch of parsing theory in my CS minor during undergrad, mostly from a complexity perspective, so...) So I ended up picking things up on-the-fly over time, occasionally going over some presentations / lecture notes or (less commonly) papers that I found references to or found via searching.
I think as a mathematician you may enjoy a niche like formal verification.

Look up tools like TLA+ [0].

Formal verification is basically about modeling hardware & software systems with a notation similar to mathematics.

It seems like a good option for a mathematician.

[0]: https://lamport.azurewebsites.net/video/videos.html

My first thought was finance but you exclude it. Some ideas could be in the domains of cryptography, data and category theory (e.g. Spivak), simulated data, or testable systems architecture (Lamport, TLA).
Quantitative research might be an option. One pro here is, if they like you, they will be happy to take you on and teach whatever concrete skills you’re missing.
Maybe you should consider applying for positions at places like D.E. Shaw or 2Sigma. From what I've read they many folks who have advanced degrees in maths and other similar fields. I'm sure you'd be able to put your skills to use at one of those places. Plus, the pay is good too :)
Learning to program is the most important thing you can do. As long as it isn't web applications everything is fine. Programming isn't really about knowing the syntax of some language or having memorized a list of algorithms, but understanding how to build an appropriate architecture for your system.

>but it seems of dubious usefulness when it comes to finding a job.

There is a very large embedded industry if you want that. Learn about basic electronics as well if you are interested. I highly recommend learning C and (C++ and/or rust) if you want to enter there.

>combinatorial optimization

Nobody in the industry would hire you for that specifically. You might find a role where it is also needed/usefull but it isn't a career path.

>blender/3D modelling

I would absolutely avoid that as a career unless it is a major passion. Maybe you are interested in computer graphics though? That could be an option. Computer graphics is a major industry, video games, professional software for artists or engineering software are some of the larger groups there.

I would focus on R&D positions at large companies or institutions. Engineering positions are more process focused ("do what you are told") and it gets worse the more regulated the industry is (e.g. aerospace).

> There is a very large embedded industry if you want that.

I'll second this. Embedded programming will probably only get bigger from IoT, and a large chunk of new coders entering the job market these days don't really understand how a computer works as a machine; which is why you tend to see older folks doing embedded software.

The pay isn't going to be FAANG but you might end up doing more interesting things than your standard CRUD webapp.

> As long as it isn't web applications everything is fine.

The irony!

> There is a very large embedded industry if you want that. Learn about basic electronics as well if you are interested.

What is the hiring process typically like for inexperienced embedded software positions? Is a portfolio of personal projects important or is it coding test heavy or something else?

IMHO, it varies wildly from company to company. A portfolio is great and I'd expect some sort of general coding test. In general, if you can do the usual leet code tests (I know, but it's the world we live in...) can demonstrate a good knowledge of C/C++ and show you actually understand how pointers and memory work, you're probably hireable as a beginning embedded software engineer.

If you're looking for bare metal work (as opposed to embedded linux) being able to read and understand schematics is useful, though I've never had anyone ask for that in an interview.

"It depends". Having a mathematics PhD likely means people will absolutely believe in your ability to learn new things and overcome problems. Being able to demonstrate some actual ability and/or projects would be very good. Often engineering positions have certain "requirements", particular languages or software packages and in an interview you likely get asked question about those, either structured "solve problem X" or unstructured "what have you worked on using Y". Not ticking all the boxes is okay, but I wouldn't apply if you don't have any experience with any of the languages asked for. R&D positions are usually more loose on that and you should expect to get asked more questions about your previous research, oppinions on certain subjects and so on.

In general I would say that applying never hurts. Make sure that any application includes something which makes it clear what you are interested in. Likely your particular mathematics skills won't be that relevant, so don't overly focus on them.

Embedded is a large world, from small Linux machines down to 8-Bit controllers. Knowing that landscape and where your skills/interests are in is important. I would suggest looking which companies are interesting to you and/or near to where you want to live. Also make sure where in the supply chain you want to be. At the bottom you have semiconductor manufacturers (TI, Microchip, st, NXP, etc.) and at the top you have "real products" (Boeing, Ford, Raytheon, etc.) in between there is an enormous range of suppliers and sub suppliers.

What’s wrong with web applications?
Nothing wrong with web applications. It was about "web applications everything" attitude...
>low level stuff and assembly

Embedded is too close to Electrical Engineering, lots of people would want experience in that.

Honestly be less picky. Get your first job, then you will have your pickings.

What appeals to you here:

https://en.wikipedia.org/wiki/Combinatorial_optimization#App...

and which of those application areas are spending &| hiring?

From the lede spiel you may have foot gun'd yourself:

     It has important applications in several fields, including artificial intelligence, machine learning, auction theory, software engineering, VLSI, applied mathematics and theoretical computer science.
As AI & ML got first mention. Still, there are other applications.
If you are good at math and like complex symbols, then learn a low level language and move into HFT.

Mathematicians are well equipped to find the weird quirks needed to gain an alpha in the trading market. And low level high-performance languages won't seem as tricky, if you're used to the oddities of pure math.

> Because of ethical reasons I want to stay as far away as possible from anything that is insurance, finance or crypto related. I'm not really interested in AI and/or machine learning either.

I'd guess that's a "no" :)

I would caution against _just_ learning to code without also getting a reasonable grounding in an area of industry you want to work in. I am a math PhD too, I currently work in an industry research lab doing ML work. I transitioned via a decade in government R&D that was much less hands-on technical. Despite now working in close proximity to folks doing graphics research I know it would be very difficult to get a job in that without hands-on experience.

Just being good at math is too general in a competitive job market. But I would also argue that learning to code is too if you want to work in the application rather than as a SWE.

I personally find low-level software interesting too and have found stimulation in HPC. However, lots of that space these days is focused on AI and you said that doesn't interest you.

> low level stuff and assembly

Cyber security companies tend to have a hard time finding people in that area. (Although mostly C++ and Rust these days I guess)

Concerning combinatorial optimization, for what it is worth, I've been working in that field for the last three years! Mainly on public transport optimization algorithms. It is less "sexy" than ML, and paid less, but I find it very interesting work, and quite challenging, as the state of the art constantly evolves.
That is absolutely ML and don't let anyone tell you otherwise.
I'd expect that any kind of logistics would need tight bounds on min-max 'performance', and not be up to the whims of artificial stupidity. Am I wrong?
"Training a model" is just a different name for "optimization".

The typical logistics optimization system is "smart" because it's optimizing exactly what it is supposed to. LLMs here would not be "smart" as they are optimizing toward a different target (human-like production of language-like text), and using them for things they're not specifically trained to do is indeed stupid.

I meant sexy in the sense of fashionable. People are impressed if you can solve TSP for a few nodes with a NN, but they don`t really care if you can solve for 100k of nodes with good ol' branch-and-cut.
(comment deleted)
You may consider the electronic design automation (EDA) industry. Basically, the tools used to design the ASIC we love.

The industry anticipates a job crisis, with elder people retiring, a shortage a new entrants (not see as sexy) and still a strong need. There's been initiatives around to bring more new blood in. A math PhD with an interest in optimization looks like a good fit.

There aren't so many employers (Cadence, Synopsys an Siemens/Mentor are the 3 bigs), but the domain is extremely technical with an history of pushing the envelope. SAT solving for example has progressed a lot thanks to EDA, and we not benefit from it in software with its SMT extension.

This does sound very interesting! There was a chip design course during my masters that I always regretted not taking because it overlapped with something else
Without knowing which pure area you work in, I can only surmise that you have at least some category theory, which is the theoretical underpinning of type theory. Add in algebraic types, aka sum types, and you may have a solid theoretical background for modern programming research, especially functional programming.

Combine that with a previous interest in assembler, et al, and there may be an interesting possibility of compiler optimization, byte code generation, etc.

How would one add introspection and pure functional programming with tail calls to a language such as Rust, e.g., and still maintain all of its safety guarantees while keeping build times reasonable?

As an aside, there is plenty of work for those with solid assembler or other low level experience. Don’t think commercial end user or web software, think embedded hardware, IoT HW, etc. my employer, e.g., will be adding FPGAs to our high security hardware products, and we will need that low level experience. We’re not hiring yet, but we aren’t the only ones out there.

Heck, maybe that’s an area of interest: marrying an open source tool chain to a high level, functional language, to an FPGA and getting performant, safe code that is not beholden to the arcana of specific manufacturers.

I think you're underestimating the amount of very advanced stuff already done in PL theory, and overestimating how applicable pure maths is to that.

Afaik "category theory [as an] underpinning of type theory" is quite far from true: you can model some type theory with category theory, but it's mostly about modelling, the correspondence is very finicky once you get to the details, and it doesn't help _that much_ for practice. Then, knowing the bit of CT that a typical mathematician knows is not going to amount to much or anything very helpful, in practice, and for the things it will help with (probably going to be quite theoretical cutting edge research), you'll have plenty of people that studied exactly that working on it…

I'd like it to be the case, but being able to describe Yoneda and knowing about assembler is, I think, a far cry from getting you anywhere near these jobs.

If you've got low level skills and you're not interested in AI/ML, you're probably going to end up doing process control on industrial machines.
This is my personal advice, feel free to ignore it. I am only giving it to you because I was in almost the EXACT same situation. I also got my PhD in pure math (langlands) and was in a postdoc just like you, planning for the job market. I myself did NOT get an academic job despite applying to many places.

On the note of academic jobs: the #1 thing over EVERYTHING else is connections. Connections are even more important than producing HIGH QUALITY papers. You need to be interesting and regularly communicating with 2-3 research groups around the world who CARE about your work seriously and might want to work with you (i.e. they should be showing some enthusiasm for your work). Your postdoc advisor(s) need to be behind you on this, they need to write you an amazing letter, and you need them to help you find these connections. But, you also have to strengthen/find them on your own. If you don't have good connections, FORGET about an academic job. (This was my #1 mistake, but I don't regret making this mistake for a variety of reasons -- if you want to talk more, feel free to contact me at jpolak (at) jpolak (dot) org).

In terms of programming jobs: other people here will have better advice on how to get into that world.....but I will tell you something they might not. The programming/industry world has a HIGH CHANCE (not GUARANTEED) to be extremely boring if you are used to pure math. I don't mean they are intrinsically boring, but to the person who enjoys pure math, they aren't close to that style at all. The work style is completely different.

My main advice then is to think about jobs OUTSIDE the technical sphere. Not that you will NECESSARILY need to go that route, but it is something worth thinking about. One of the best things about pure math is creativity, and the opportunities to express creativity like that in industry is rather low. Today it's all about specialized stuff that is very directed.

For my, I went into something completely different: writing and photography. Not saying you will go that route, but finding something you like to do that is creative might be more enjoyable than doing something technical. Again, this advice is HEAVILY influenced by my personal feelings about what pure math is about, but basically, I submit that industry and pure math are SO different, that even non-technical fields can be more similar to pure math than programming.

Finally, I will say that based on talking to SEVERAL former grad-student colleagues, my advice generally holds true. Industry can be amusing for a short time, but in the long-run, it's boring....just something to think about. Personally, I quit industry (programming/comp-sci stuff) this year because I hated it from Day 1 and I'm very happy I did.

I've been out of a PhD for 6 months or so with no job in sight, and would like to get into more creative stuff, but I don't see how that's possible without spending an unforeseeable long amount of time without any salary. How did you do?
Well, after my PhD I did get a postdoc right away, but after that it took 6 months to get a job.

In terms of creative stuff, start small I recommend: * Create a YouTube channel explaining some highly-technical stuff and promote it. If it's unique content, it will get hits. * Find some remote technical writing job, do it part time for some money * Tutor -- you can tutor 2-3 days per week and make enough to live

As for some time without a salary, well, I got a job as a programmer, and saved up enough until I could quit. But that 6 months between postdoc and job was a harsh time in life indeed.

Thanks, after hearing about promoting oneself so many times, I guess I know what I have to do!
> My main advice then is to think about jobs OUTSIDE the technical sphere.

Here’s one second-hand data point to support that advice.

I do writing and translating (among other things), and in the past few years I have worked on a couple of projects with a former math Ph.D. candidate who is now an editor at an academic publishing company. I think his field was algebraic geometry. I met him only after he left academia and I don’t know exactly what led him to look for a job in publishing. He seems happy and motivated in his job, though, and has been a pleasure to work with. His first solo project was a book I had translated, and I occasionally had to advise him about the editing process. But he learned quickly and has since been promoted.

Thanks for your opinion, photography is a hobby of mine, but I never really considered the option of turning it into a job
Check out John D. Cook's blog https://www.johndcook.com/blog/

He has a math consulting business which seems very interesting a cool way to make a living. Maybe you can contact him and get some advice.

> I have no knowledge of what is required in the job market

Read the news, its that simple, you can see problems that need solving all the time. Its harder to find out what needs solving in business because they are by nature private. Thats not to say, you cant find problems in business which need solving when you are a customer of theirs.

Define a big programming project? Do you want to work in a big team or on a project as the sole coder for something that is the biggest in whatever domain/field its in. Global business, national business, small business?

Lots of ways you could approach this, not being sarcastic, but wouldnt your combinatorial optimization be the perfect foundation to plan your future life?

In the mean time, I'll be reading the comments, to see if problems in industry are being made public which could be monetarised and solved with code.

Cryptography: It's a niche field, not everyone offers a position in this area, but having a good grasp of the mathematics behind common cryptography techniques is a highly employable skill. Understanding quantum-safe algorithms is a huge plus.

Cryptographers tend to be one of two types: Those that create new algorithms and those that attack existing ones. The industry has positions for both kinds, it is up to your personal taste as to which appeals more.

Thanks for your comment! Do you have any book or online lectures do suggest to get a taste?
I was in your situation 20 years ago, as a postdoc in Theoretical Physics. My advice is to contribute to some known Open Source project, so that you have some provable programming skills when entering the job market. In my case I contributed to Python, not by coding, but by writing various articles on advanced features of the language and an essay on the Method Resolution Order that at the time was new and undocumented. Guido van Rossum in person put that essay on the official Python site. Having something like that in your CV helps when looking for an IT job. Nowadays I would probably contribute to Julia, you need something that shows promises but it is not mainstream yet to make a good impression.
Seconding this. Don't just learn to code, learn to solve problems related to some project or subject. Those problems may be "we don't have documentation about how X works", so learn X and do some writing.

Ideally you do a little coding too, but it'll give you a portfolio of things to show off later, even if just documentation.

Can be fun stuff, like FOSS games, e.g. Battle for Wesnoth. Fix a few of their bugs or ToDo items, maybe make some 3d assets in blender, build a new campaign, etc.

I’ve been there, too. I don’t feel like writing much here, but drop me an email if you feel like it (it’s on my profile).
I know several PhD pure mathematicians who have taught themselves data science/machine learning on the side during a postdoc and subsequently got jobs in those disciplines.
I did a cell biology post-doc for a couple of years, and then got a junior job working on data visualisation libraries, which I really enjoy. After two years my salary has doubled.

I had no experience of large projects, either. I followed the advice of someone in the industry, and made my CV more or less just about my hobby programming projects. Nobody cared that I hadn't contributed to open source projects, and they certainly didn't care about my previous career.

The tricky part was getting through the first phone screen. HR people didn't really understand the experience I had.