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.
Programming:
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 (https://app.dataquest.io). 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?