I am a PhD student in mathematics. I felt quite lucky that I got into this program. My research is also going ok, and I got some confirmation from my advisor that I should be able to graduate in a year or two if I keep up with my work. So things were mostly good. But a recent conversation with my advisor completely changed my view about my situation.
We just finished one of our projects and naturally got to the question of when I should graduate. Then We start to discuss my plans after graduation. He asked me whether I want to find a job in industry or stay in academia. I said I want to remain in academia, find a postdoc, then a tenure-track position, etc. He then told me that there are very few places that have postdocs in my area, and indicated maybe I should look for schools that majorly focus on teaching.
I was very shocked. I always wanted to stay in academia and thought about going to good research schools. In fact we talked about this when I first asked to be his student. But for some reason, he kept asking me the same question every once in a while.
I went home and start search on mathjobs.org for positions in my area, which I probably should have done three years ago. There were almost nothing. There are two postdoc positions, both are from not very well-known schools, I don't quite have interests in applying to either one of them.
I am quite lost. On one hand, I wish I knew this much earlier on. I wish my advisor would have told me before he helped me pick this area. I also should've done some research on that myself. Now I just have so much regrets in my heart.
On the other hand, I think it's time to be realistic and rethink my plans. I wonder if it is still be possible for me to get a postdoc (possibly in one of the two places) and later go to a top-ranking school for tenure-track positions? If a school don't have anyone in your area, would they hire you as a tenure-track AP? I am not quite fond of teaching, I can bear it if it's part of my job being a researcher, but I would not want to do this as my sole job.
If that is not possible, what kind of job can a math PhD get? I had some experience in industry before as well, but I don't quite like that job. Are there research-type positions in companies that would appreciate a math major? If so, what kind of knowledge/skills should I pick up now?
I wonder if it is still be possible for me to get a postdoc (possibly in one of the two places) and later go to a top-ranking school for tenure-track positions?
Yes, this is possible. But, unless you are making definitive progress on famous open problems which are well-known to everyone in your field.... then it is very unlikely and you should not count on it. (And perhaps even if you are.)
Most academic jobs involve both research and teaching. For example, I work at a research university with a Ph.D. program and a 2-2 teaching load. I definitely have time for research, but teaching is a big component of the job, and if I didn't enjoy teaching I would not want to do this job. (Moreover, if I wasn't good at teaching, then the hiring committee probably would have picked up on this and not offered me the job in the first place. Most people who are good at teaching, enjoy it.)
I think you are wise to investigate your other options. I've known people who decided not to pursue (or continue with) academic careers, and for the most part they were able to find good jobs. Software companies like to hire mathematicians, and you might learn programming if you don't know it already. Some mathematicians successfully go into finance (and make boatloads of money doing it.) Actuarial work is another possibility. In any case, these sorts of jobs don't generally just "happen"; you have to proactively think about what you do like and look for opportunities.
Good luck to you!
Basically, as you are no doubt realizing, you cannot simply pick a "good research school" where you would like to work - you need to make them want to pick you (and they need to have an open position). This pretty much requires an outstanding publication record. And demonstrated ability to raise money. It is frequently sweetened if you can show credible teaching skills. Very few recent graduates fit this description: as with any career it requires long hours and years of work to get to the top.
That said, here are a few thoughts about an academic career:
1) If you are good, it does not matter what academic institution you are at.
2) There is a whole subculture of itinerant research professors who begin at a lesser-known school (say Podunk Teaching University) as their first job, then eventually attempt to leverage this into a position at a better school. Some are successful at this. Of course, this strategy also requires that you be good, which you will need to demonstrate by publishing regularly.
3) If you are lucky enough to be offered a position at Podunk, it is very likely that you will meet a large number of the faculty there who themselves are quite good, despite its lack of reputation. People on the same career trajectory as you, for instance.
All in all, no matter whether you choose industry or academia, you will need to put in the hours if you want to make a name for yourself. There really is no shortcut to the top for most of us - just hard work and stubbornness. And citation counts.
First of all, you are way ahead of the most. Don't despair. PhD journey sucks you into a narrow tunnel and you spend years chasing that narrow goal without looking around too much. Now it's about over and you started looking around. You got much smarter. The world seems more complex and different. You look five years older, have less hair, etc... shock! Look around more, gather info, check out different career paths from your new point of view. Stay open minded. A lot of things you were so sure of will clearly seem wrong now. That's perfectly normal. That's why you spent all that time studying.
Second, develop economic intuition about the work you can do now. Will those few publications you produce as a math researcher in academia create a value for society of ~$100,000 per year? Can you create more value teaching larger classes in a less prestigious school and having more research freedom? Can you spend a few month transitioning into an adjacent field where there is a great demand for mathematicians?
And finally, if you don't like teaching, as you mentioned, don't go into teaching! Your dislike towards it will snowball into a boulder of misery over time. Even if you manage to put up with it, is it really worth it? There are probably hundreds of career paths available to you where you will get to do what you want and enjoy life.
TL;DR: Stop worrying and keep trying.
There is a saying "don't worry about things you can't change or have no control over", which I think can be applied to your case very well. You will graduate in a year or two, you already commit to the current research area, and can't change it. So worrying about it will not help you anything. Instead you should focus on producing the best PhD thesis possible, as ask for the best LoR from your advisor.
People do not always do postdoc in the same field as PhD. Actually, I heard some advices that you need to do postdoc in an area different from the one in PhD. So you may not need to worry about the current research area.
Being a teaching professor might not be as bad as you think. Next to my office is the lab of an associate teaching professor. I don't know what she teaches, and how many hours does she need to teach. But she has more than 10 PhD students in that lab to do research, she also has more than 100 papers with nearly 6000 citations. She currently has more than 1 million $ of research grant. This is much better than many (research?) professors.
How do you feel about applied mathematics? Possibly you could thrive in a research institute, such as Scripps, Woods Hole, the many physics institutes, medical research centers?
I suggest you repost a question, giving specifics about your area of math specialization.
Both choices (stay on target for a tenure-track position, or move on to an industry position) will require significant research on your part.
Find 3 people at schools you respect that have recently gotten a tenure-track position. Ask them their story. Look for how long, what they needed, how they went about it. This is much better indicator of how likely it is that you can get this position than looking for current job openings.
For an industry job - What about math excites you? Could you continue your math in the evenings/weekends? Great if you can do it. Is there a job that would excite you? See if can find people to talk with that have been doing it for some years. If do not have anything that triggers your passion, talk with math alumni that went into industry about 5 years ago. Their stories may showcase possibilities for you.
While having the intense math focus is great, you will need to start working on other skill sets while finishing your degree. Public speaking and problem solving are two prime candidates. Familiarity with email as used in business is almost mandatory for an industry position. Making a realistic five year plan is huge.
Last one, if you can do it, find a good mentor. There is a huge difference between an advisor and a mentor.
Although it didn't strictly answer the question, this answer offer an overview on the possibilities offered by the industry. There exists some positions in industry which are related strictly to mathematics. To be honest, anyone can learn a programming language in a couple of weeks(Java, C, C++, Php, C#,...). Mathematics, on the other hand requires years of work, which not always get into top publications. Nowadays, from my experience there are few positions in industry which requires mathematics, and someone which has a background in mathematics and also is very good at programming is hunted by the companies in industry - mostly, the companies which are performing business in aeronautics and space. I give a few examples: GMV Innovating Solutions, Thales, Deimos, Assystem. I know of these because I was offered a position into some of these companies, which I refused. The basic programming language required is Matlab and/or Mathematica.