Math PhD (Nonlinear Programming) switching to Data Science?



I am a math Ph.D. student who is interested in going to the industry as a Data Scientist after graduation. I will briefly give some background on my education before posing my question, so that it is better understood:

Maths Coursework:

This has been mostly in pure maths: topology, functional analysis, etc, but also include more applied ones(on which I have specialized for the dissertation): convex optimization, nonlinear programming, numerical analysis, linear programming, multiobjective optimization. In addition, I have right now 0 knowledge of inferential stat, but I am confident in probability theory.


I just took a year-long course in the Bachelor, but it was mostly Mathematica and some Java, of which I remember nothing honestly. In this course, the content did not include anything of data structures or design and analysis of algorithms, nor databases management systems. I also learned Matlab on my own for implementing algorithms in the bachelor thesis.

The above background was during the Bachelor and Master's program. Now, during the Ph.D. program, I discovered that Machine Learning is the perfect mix (for me) between Nonlinear Optimization, Programming and applications in the real world, i.e, it is both theoretically interesting and application-oriented. This is the reason why I became so excited to go to industry. Hence, I started learning things on my own(in my little free time) during the last 3 years.

Short summary of things learned:

  • Python: I am comfortable implementing optimization algorithms, work with jupyter notebooks and the numpy library (in fact, I had to do this for the dissertation), and doing basic data manipulations and cleaning tasks in pandas. This I learned online, in a platform called dataquest ( However, I don't think I have enough knowledge to pass an interview in data structures and algorithms(see above).

  • Machine Learning: I took a master level course in the topic at the uni (since I am in Germany, we don't have courses in the Ph.D., so this was all in my personal time), which I really enjoyed. Topics included: k-NN, PCA, SVM, NN, etc.

  • Taking a course in Databases this semester, which focuses on SQL.

  • Taking Deep Learning specialization on Coursera this semester.

Finally, I want to say that I feel totally capable of learning the topics. In fact, with time I intend to take more graduate-level courses available online(for example, Stanford CS231N, CS234, etc) because, in my opinion, online courses may not be rigorous enough. Hopefully, after the defense, I will be able to focus full time on this.

Hence the questions:

  • Can I still get hired at this point (I mean, after finishing this semester with the knowledge described above)? I honestly think I am not ready, but I feel confident that I can get decent in a year.

  • Am I being too naive in thinking a company would give me a chance?

  • What should I do to become more hirable in any case?

John D

Posted 2019-10-02T09:07:10.363

Reputation: 113

1When I applied for my job (in Germany) there were at least two companies which only considered the mathematical knowledge. They didn't care about anything else. Programming would be a favour but they have dedicated programmers to convert the stuff mostly mathematicians and physicists work on into software. – Ben – 2019-10-08T08:26:28.067



I don't disagree with the other answers, but here's a different perspective you should bear in mind. Also, I can offer answers to your specific questions as someone who left academia (applied math/CS) for data science.

In short, understanding the underlying needs and use cases for a business problem is paramount to any project, and so developing a strong business sense and cross-functional communication skills are critical if you want the broadest reach in a data science career.

  • Can I still get hired at this point (I mean, after finishing this semester with the knowledge described above)? I honestly think I am not ready, but I feel confident that I can get decent in a year.
  • Am I being too naive in thinking a company would give me a chance?

I'm going to answer these together. It strongly depends on the company and its current needs. For you, this might vary along the dimensions "startup" to "enterprise" and "ML shop" to "general data-driven business". By the latter, I mean there are companies whose sole purpose is to sell ML products or services to clients, vs. general tech companies that want to exploit modeling in their business. Chances are you'll find a quicker/easier fit with a company that either already has its ML use cases built out or dictated by others, because you're not likely to be equipped to strategize the inception of a new project.

So, that could be true of a larger business that has a department dedicated to grinding away on ML model technicalities while other parts of the company determine business strategy and design, or in a business of any size that is focused on ML as its product/service.

In the short term, yes you can probably convince someone to have you as an intern or assistant on some projects, but your PhD will likely be seen as a potential drawback if you're talking to small to medium companies who want to hire generalists/jacks of all trades...

  • What should I do to become more hirable in any case?

Which brings me to this. You can choose your own adventure because there are so many types of role, but you should be aware of what kind of role and situation each potential employer is looking for, and be realistic about how you might fit with it. There are lots of employers who don't clearly express what they want or need, or don't even know themselves what that is. You'd do well to figure that out with them to avoid heavy disappointment.

If you want to broaden your horizons in data science and ensure you have the highest business impact and professional development opportunities, you'd want to learn a lot more about business applications of data science. Those are highly diverse and both more informal in practice and more impactful to the business overall than worrying about optimizations for pseudo-inverting matrices.

Despite the reasonable opinions in the other posted answers about the market, there's a huge market deficit in my opinion for data scientists who:

  • Truly understand business needs and can communicate effectively with non-technical people
  • Develop and execute plans that involve general data-driven problem solving, which may or may not involve building "cool" models (and frankly they probably won't, at least not until the problem is very well understood by more traditional exploratory methods).


Posted 2019-10-02T09:07:10.363

Reputation: 276

very nice answer – pcko1 – 2019-10-07T23:23:55.073

I (new MSc Math grad) believe that I am in the opposite boat as the OP. A little bit of programming there, a little bit of math here, but nothing too deep anywhere. My education is too general, so it's hard to stand out.

I do have ample soft skills like you mentioned in your second to last bullet. Once I understand a technical concept fully, I am quite good at explaining it to the laymen. I was also an officer in the navy, so I have a lot of experience working with people and projecting an "image", which I think crosses over into a business mindset. – rocksNwaves – 2020-02-17T23:14:37.300


Data science jobs cover a wide range of different activities so any answer is likely to be subjective. I'm in academia so my knowledge of the job market is limited, but from what I can see:

  • The current context is very favorable to data scientists looking for a job, so anybody with some basic knowledge of ML has a chance. You're already above this level so no worries on this front imho. The trend is reasonably likely to continue like this, but nobody knows the future.
  • Ideally to increase your chances you should be able to demonstrate that you have some hands-on experience: for instance github projects, participation to a ML competition, this kind of thing.
  • Don't neglect your maths PhD: you seem to have a lot of free time to learn data science, good for you... But make sure the PhD is your top priority, it's going to be a great asset on your resume even if it's not related to data science.


Posted 2019-10-02T09:07:10.363

Reputation: 12 600


Erwan nailed it (+1). But I think my addition is a little too long for a comment.

You seem to be well ahead of where I was when I landed my DS job. I was in pure math, a couple of postdocs in, and had only a short time of self-study when I was applying for industry data science.

On the other hand, I had actuarial exams in my undergrad, which probably helped me get into the fintech space. When applying, emphasize what you already know, and acknowledge what you will need to be learning in your first few months (stronger programming? using git? ...).

(Also, you didn't mention tree-based models in your ML course: I'd guess that was just an omission, but those seem to be the most important model to understand unless you're trying to get into industries where neural nets are the norm.)

Ben Reiniger

Posted 2019-10-02T09:07:10.363

Reputation: 7 097

Thanks for the answer! Good to know it's not the first time a pure mathematician goes to data science. – John D – 2019-10-06T11:01:17.167

May I ask what is your opinion of online courses such as the Deep Learning specialization on Coursera? Does this type of courses really prepare you for working in the industry? – John D – 2019-10-06T16:37:29.100

Rather than going at Coresera try courses they are more tailored towards real-life applications, coursera is good ut see any course any MOOC they will teach you topics and the subject matter and the concepts after that it's up to you how much you use those learned tools into your required applications. Just don't overthink it just get in and i assure you you will find your passion. – khwaja wisal – 2019-10-06T20:30:06.853


Just Don't take this advice blindly: The subjects you have mentioned in mathematics are core to solving problems using machine learning/Deep learning, programming is a tool to implement all this theory that you learn and on that basis you create your hypotheses and then test by implementing it in code for that you do not need coding skills of a coder you should know the data structures of your use especially data frames and tensor manipulation and rest you will learn while implementing. The best part with you is you have the foundational knowledge of mathematics(I am assuming you know probability statistics multivariate calculus, functional analysis and the rest of the subjects you mentioned I won't go into detail since you already are doing a Ph.D.) That is essential in understanding Ml algorithms and how they work when you understand the algorithm to every bits and pieces, after that it is just a matter of one day for you to implement ,So coding part aside I personally would say with your mathematical background I would give deep learning a try because neural networks are very complex systems or a very big composite function with millions of parameters and this is the best place to apply your mathematics knowledge of optimization, topology, functions, multivariate calculus and statistics and probability.

I would suggest you go through all the courses from taught by Jeremy Howard(he is literally god of deep learning) his course on practical deep learning for coders is packed with knowledge apart from that for core understanding of the mathematics behind neural networks you can go and read a blog by Michael Nielsen called its actually a book and a great one and you will love the mathematical explanation and for more understanding you can always go and read at Chris olah's blog its just great.

So now the thing is you can still get many research internships and go and learn there in an industrial environment but I would rather suggest you, give yourself some time go through these courses get a grip of the matter and with the mathematics behind you, you are ready to do anything. See, data science right now is like everyone wants to be one and just get that 6 digit salary and be done but it is not like that data science is not something you can learn all at once it takes time, data science is a toolkit that provides you with tools so to learn how to use these tools you will have to use them for that you will have to apply them in real-life projects and then you will learn that data science is not coding ut coding is a part to it you will learn it and become better and better as you practice solving more problems and for that you have kaggle its a great community.

So, give yourself some time be patient and just keep solving keep reading literature papers on the latest topics that are now made available freely now, so keep going.

khwaja wisal

Posted 2019-10-02T09:07:10.363

Reputation: 114

thanks for the answer! will do. – John D – 2019-10-06T11:00:22.637