How to Start a career in Machine Learning
This question was originally asked and answered on Quora, I found this question useful so sharing for the benefit of users.
There are several ways to start a career in ML since it all depends on where you are right now: Are you a CS undergrad student just about to graduate? Do you have a PhD in some science (e.g. Math, or Physics)? Have you been working as a software engineer or analyst for years? Where you are right now will determine what is your best path forward.
Let me address a couple of those possibilities:
(1) You are a Software Engineer with some years of experience
In this case, I would recommend you take the following steps:
- Learn some basics of ML
- Find a job or position in a team that does ML, but where your role is mostly to support software engineering (This should be relatively easy to do if you are a great software engineer and you show your interes in ML by having done (1)).
- Continue learning “on the job” and don't miss any opportunity to get more and more involved in the details of the ML algorithms you/your team is working on
- Progressively move into doing more ML until it becomes your “full-time” job
(2) You are an CS undergrad about to graduate
- You could start a career as a software engineer and then go into (1) or...
- You could decide to do some graduate work (Master or PhD) in ML to get you jump started
(3) You are a “science” PhD or researcher
- I am assuming you have used ML and become somewhat profecient at applying it for studying data and phenomena. Otherwise, you should learn the basics of ML
- Improve your coding. You might have used some R (or worse, Matlab). I would recommend you do yourself a favor and learn Python.
- There are many places now that specialize on training people with this kind of background through Data Science boot camps and the like (see Zipfianacademy for example). I don't know enough about these to recommend them, but it might be a good way to improve 1 and 2. There are even universities that have courses in teaching coding/software engineering to Data Scientists
- Get a job as a Data Scientist and progressively move into doing more and more ML
Of course, there are infinite variations of the three situations above, and I don't claim these simple pieces of advice are enough. But, I do hope they can help you out if you are in a roughly similar place.
About the Author.
Xavier is leading the Engineering team at Quora. He enjoys working on the cross-roads of data mining, machine learning, software engineering, innovation, and agile methods. He has 10+ years of experience in research, research management & software engineering, and has authored more than 50 papers in books, journals and international conferences. Xavier is also a frequent speaker at public events. Latest talks include: KDD, Strata, ACM Bay Area Chapter, Machine Learning Summer School UCSC, ACM Recsys 2012 Conference, Google, LinkedIn, Twitter, IBM Research.