Answer by Tao Xu:
I joined Facebook in 2009 with an official title: Machine Learning Engineer. I liked that title a lot, mainly because:
- I love machine learning
- Its acronym (MLE) also stands for Maximum Likelihood Estimation.
I seriously hope that someday Machine Learning Engineer will be as popular/trendy as Data Scientist.
The job of Machine Learning Engineer is to apply machine learning to practical problems. Most of people with that background were concentrated within a few core ranking teams (for example, Ads, Feed and Search). In my case, I was in Ads Ranking for the first three years and Feed Ranking for my last year at Facebook.
Most of my daily works are around:
- Developing new ML algorithms/models scalable to FB data, typically we changed the underlying ML algorithm in a major fashion every 1.5 years.
- Writing increasingly faster runtime for the existing models, so it could score more candidates with lower latency. Those core ML runtime routine is running a few trillion times a day.
- Developing new features
- Developing new system infrastructure to store ever more data to extract features at runtime
- Developing ML infrastructure to make model training easier, faster and more realtime.
- Training model and started A/B test
- Staring at A/B test results
- Writing/running tons of hive and map reduce jobs
- Slicing and dicing data.
- On-call, debug data correctness, metrics drop etc.