Ask HN: For advice: I'm a mathematician looking for a plan B outside of academia
- 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 ] threadMy guess is those jobs either go to PhDs in graphics programming, or people with extensive (and impressive) practical experience.
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.
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.
2. Fend off $250k+ offers
You still can get a 250k offer in a good job market but not sure about now.
Code. Test. Optimise.
Thats why fuzzers are important for testing, they brute force stupidity so the users dont have to.
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...
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
>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).
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.
The irony!
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?
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.
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.
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.
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:
As AI & ML got first mention. Still, there are other applications.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.
I'd guess that's a "no" :)
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.
Cyber security companies tend to have a hard time finding people in that area. (Although mostly C++ and Rust these days I guess)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.