Hi, I’m Sam Harding and I have just moved from the quiet shores of the UK, to the bustle of New York City. Since landing at JFK International, I have been looking for Machine Learning roles and I have noticed some interesting quirks.
For last three and a half years I have been a Machine Learning Engineer for the leading global food delivery platform - Just Eat Takeaway.com. I thought I had a good understanding of what a Machine Learning Engineer did, but I was wrong. The lingo is different here, and in order to understand the differences, it is useful to know a bit about the machine learning lifecycle.
What is the Machine Learning Lifecycle?
For companies with a mature approach to machine learning, the process for making a model and taking it to production goes beyond: one person, a laptop, and some Python. Instead, machine learning is more of a lifecycle.
A lifecycle that can be simplified to five main stages:
- Data: Finding, exploring, and engineering data.
- Model: Building, and iterating on effective models.
- Evaluate: Testing the model against a number of factors.
- Deploy: Making the model usable by consumers.
- Monitor: Ensure the continual performance of the model.
Of course, this is a heavy simplification. The lifecycle continues beyond what is described here, and each of these stages could also be extended upon.
A UK Perspective
From my experience in the UK machine learning scene, I have seen lifecycle split across two different job titles. Data Scientist, and Machine Learning Engineer (MLE). Both roles working together in tandem.
The “beginning” of the lifecycle is the responsibility of a Data Scientist, who would be tasked with starting from a use case and data, and from this, generating a model of some description.
After a model has been created and evaluated, a Machine Learning Engineer would take over. Their responsibility would be to take this model, deploy it, and ensure it is monitored properly. One area where an MLE would be expected to have an impact would be their understanding of software engineering principles and system architecture.
Of course, these descriptions are simplified. From my own experience, both of these roles rely on flexibility across the lifecycle. A Machine Learning Engineer will probably have some input on data, and a data scientist should be involved with monitoring. Ultimately, the lifecycle of a model from conception to production is a dance between a Data Scientist and a Machine Learning Engineer.
A US Perspective
My experience with roles across the machine learning lifecycle has been different to what I had expected since arriving in New York. It seems that a Machine Learning Engineer role here is equivalent to a Data Scientist back in the UK. In fact, from the job descriptions I have read, a lot of these MLE roles could be described as “full-stack machine learning”. From model design and evaluation, to building end-to-end production systems.
What happened to the Data Scientist role? A number of data scientist roles that I have researched feel very similar to a UK Data Analyst. That is: analyse and interpret data for making business decisions.
To add further complexity, there is also the Software Engineer (SWE) - Machine Learning role. A role that roughly compares to the UK interpretation of an MLE.
Why Terminology Matters
Why is there such a difference in terminology? I don’t know. I presume it is a mix of a number of factors. One being the relative immaturity of machine learning as an engineering field compared to other sectors. Perhaps another reason is the desirability of some job roles compared to others.
The inconsistency in terminology has been one of the most interesting parts of moving abroad. It took a while, and a lot of role descriptions, to learn about these differences. In a hiring system where we prioritise compactness of résumés, reducing our history down to one page and maximising impact, terminology starts to matter. Machine Learning Engineer means one type of role to one person, and something different to another. Also, in a world where machine learning models are making an increasing amount of impact in the hiring process, does the model know the difference? Will you be rejected because the model has a different understanding of job titles.
What now?
Should these names be standardised? Yes, in my opinion. My belief is that communication and expectations are clearer when we are working with similar understanding. This can be seen in other generic job titles such as Software Engineer and Front-End Developer. These titles are broadly equivalent on both sides of the pond.
“Why waste time say lot word when few word do trick” - Kevin Malone