- 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!
>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).
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.
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.
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.
I think you might be internally overestimating how employable you are right now. Getting a first industry position after doing pure math is pretty hard. I don't think you quite have the luxury of a priori ruling out broad swaths of industry. Especially fields (machine learning and quantitative finance) for which folks with strong pure math fundamentals are particularly well suited.
You mention "low level stuff and assembly" and I think it is true with the right preparation you can break in here. But keep in mind that when you apply for systems programming jobs, say, you will be competing with people who have degrees and internships and potentially experience in the field specifically. A math PhD is good in theory, but by itself it has lower value than more targeted education and internships.
I'm writing this because when I did my math PhD, my peers and I had a lot of hubris around this issue. The conventional wisdom was that if academia didn't work out it would be easy to jump into industry. Then when the time came around it was an order of magnitude harder than we thought. I know multiple people who took temporary 1-year academic positions because their initial industry job search fell completely flat and they needed more time to prepare. In retrospect being more humble about our prospects and preparing correspondingly would have helped.
In particular, you’ll probably find parts of finance most culturally familiar to you (eg this link posted today https://puzzles.nigelcoldwell.co.uk/ which doesn’t really capture that much about interviews but does give some indication of some interests of some of the people who work there). Obviously there is also lots of low-level programming that matters in some parts of finance too.
I don’t think I’ll convince you of much in this comment so I will just note that (a) jobs/culture can be quite varied between different kinds of companies (investment banks v hedge funds v hft v companies that sell services instead of trading), (b) companies are quieter and less good at presenting a good brand than eg big tech so online you may get a worse impression. And I would recommend that you try to find some people you know from school who went into careers like that and ask them what they think about them.
There are other ways of thinking of it too, for example by not working in a higher paying job, you are in some sense giving the difference in income to your employer as if they were a charity (ie if you could get $x for your labour but get $y, it’s like you’re giving $(y-x) to your employer) so you may want to feel that is a deal you’re happy with. If you work for a charity then maybe that feels like a good deal to you, and that’s obviously fine too.
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.
There’s more to say than can fit into an HN comment, and I’d be happy to answer any specific questions you have, so please feel free to reach out to me through the contact form on my website.
All insurance, and all finance?
If so, then you pretty much have to stay far away from America. Everyone has insurance, and everyone utilizes finance.
Perhaps step 0 is to mature a little bit on your perspectives in life, and realize not everyone is some big evil corpo-bot.
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.
You've progressed nicely in a very niche domain - is there any problem within that domain that you feel like you could solve outside of the academy? For instance, is there some product, software, service that you wished you had at some point in your work? If so, is there a big enough market to build something like that which would create a business that you could build?
You understand high level mathematics - I have no doubt you'll be at least a decent programmer, but consider that there are other opportunities that may be out there for you. Good luck in your journey.
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.
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.
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.
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...
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.
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.
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.
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.
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.
Relevant maths are linear algebra, statistics and theoretical CS (ie logic)
Cyber security companies tend to have a hard time finding people in that area. (Although mostly C++ and Rust these days I guess)
2. Fend off $250k+ offers